博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达式符号(一)
阅读量:4212 次
发布时间:2019-05-26

本文共 1682 字,大约阅读时间需要 5 分钟。

 ^表示字符串必须以后面的规则开头, 在这里就是说字符串必须以\s*开头.
\s 是空格的意思, * 表示有0个或多个
\s* 就是有0个或多个空格
(^\s*) 表示的就是以0个空格或者多个空格开头
| 表示或的意思, 也就是满足| 左边的也成立, 满足 | 右面的也成立.
\s*前面说过了
$ 的意思是字符串必须以前面的规则结尾
(\s*$) 的意思就是, 以0个空格或者多个空格结尾
/.../g 是正则表达式的属性, 表示全文匹配, 而不是找到一个就停止.
eg:
(/(^\s*)|(\s*$)/g, "")
这个正则表达式替换的就是前导空格和后导空格因为有前导空格, 就说明以0个或多个空格开头, 满足正则表达式中 | 前面的条件: (^\s*)而如果有后导空格, 就说明以0个或多个空格结尾, 满足正则表达式中 | 后面的条件: (\s*$)
===================================================================
正则表达式的介绍:1.可以使用字符作为一个通配符来代替除换行符(\n)之外的任意一个字符,例如: .at可以与"cat","sat","mat"等匹配.通常,这种通配符用于操作系统中文件名匹配.2.[a-z],任何含在[]中的内容都是一个字符,只匹配一个字符.如:[a-zA-Z]代表任意大小写字母.3.[^a-z].匹配任何不属于a-z中的字符.4.[a-z&&[hij]].匹配hij任何一个(交集)5.\s.匹配空字符(空格,tab,\n,换页,回车)6.\S.匹配非空字符(和[^\s]一样)7.\d.匹配数字,相当于[0-9]8.\D.匹配非数字,相当于[^0-9],匹配中文,空格,换行符9.\w.匹配词字符,相当于[a-zA-Z0-9],不包含中文,不能代表空格,换行符10.\W.匹配非词字符,相当于[^\w],匹配一个中文字逻辑运算符:|:管道符.如:x|y表示x或y():捕获组.(abc)|(xyz)表示abc或xyz边界匹配符:^:从头匹配$:从尾匹配\b:词界.\B.非词界量词:量词描述一个模式吸收输入文本的方式.*:前面字符或组匹配0或多个+:前面字符或组匹配1或多个?:前面字符或组匹配0或1个{n}:前面字符或组的数量为n个{n,}:前面字符或组的数量至少n个
{n,m}:前面字符或组数量至少n个,最多m个
 
在正则表达式中具有特殊含义的字符 
特殊字符
描述
    .
    表示任意一个字符
    [abc]
    表示a、b或c中的任意一个字符
    [^abc]
    除a、b和c以外的任意一个字符
    [a-zA-z]
    介于a到z,或A到Z中的任意一个字符
    \s
    空白符(空格、tab、换行、换页、回车)
    \S
    非空白符
    \d
    任意一个数字[0-9]
    \D
    任意一个非数字[^0-9]
    \w
    词字符[a-zA-Z_0-9]
    \W
    非词字符
表示字符出现次数的符号
表示次数的符号
描述
    *
    0 次或者多次
    +
    1 次或者多次
    ?
    0 次或者 1 次
    {n}
    恰好 n 次
    {n, m}
    至少 n 次,不多于 m 次

转载地址:http://gnzmi.baihongyu.com/

你可能感兴趣的文章
0116 spring的webFlux
查看>>
解决 Asp.net 中,url传参乱码 方法之一:(UrlDecode)
查看>>
pdf的转换网址:
查看>>
c++设计模式之三~抽象工厂模式
查看>>
c++设计模式之单例模式
查看>>
c++设计模式之建造者模式
查看>>
c++设计模式之原型模式
查看>>
c++设计模式之适配器模式
查看>>
c++设计模式之桥接模式
查看>>
c++设计模式之装饰模式
查看>>
Mysql学习笔记(八)- 两个简单实用的优化方法
查看>>
mysql学习笔记(九)- 增删改查的优化
查看>>
Jenkins学习笔记(一)
查看>>
AtomicInteger源码解析
查看>>
CopyOnWriteArraySet源码学习
查看>>
ThreadLocal学习笔记
查看>>
用talib实现基于emv的简易量化投资策略
查看>>
LongAdder源码解析
查看>>
Talib学习笔记(二)- 价格指数学习
查看>>
CAS机制是什么?
查看>>