正则表达式
语法
普通字符
对大小写字母、数字、标点符号的匹配。
表达式 | 说明 |
---|---|
[abc] |
匹配[] 中的所有字符 |
[^abc] |
匹配除了[] 中的所有字符 |
[a-c] |
匹配区间内的所有字符 |
. |
[^\n\r] |
\s |
匹配空白符,包括换行 |
\S |
匹配非空白符,不包括换行 |
\w |
[A-Za-z0-9_] |
限定符
指定正则表达式中给定组件出现的次数。
表达式 | 说明 |
---|---|
a{n} |
匹配连续的两个a |
a{n, } |
匹配至少n 个a |
a{m, n} |
匹配至少m 个,至多n 个a |
a* |
a{0, } |
a+ |
a{1, } |
? |
a{0, 1} |
其中
*、+
尽可能匹配最多字符,可以在他们后面加上?
实现最小匹配。
定位符
表达式 | 说明 |
---|---|
^ |
字符串的开始位置 |
$ |
字符串的结束位置 |
\b |
匹配单词边界的字符 |
\B |
匹配非单词边界的字符 |
定位符不能与限定符一起使用
修饰符
/pattern/flags
修饰符 | 说明 |
---|---|
/i |
不区分大小写 |
/g |
匹配所有 |
/m |
多行匹配 |
特殊字符
正则表达式的功能字符在匹配时前面加上\
转义。
选择
用()
将所有选择项括起来,相邻的选择项用|
分割。
?=、?<=、?!、?<!
的区别
exp1(?=exp2) # 查找exp2前面的exp1
exp1(?!exp2) # 查找后面不是exp2的exp1
(?<=exp2)exp1 # 查找exp2后面的exp1
(?<=exp2)exp1 # 查找前面不是exp2的exp1
优先级
运算符 | 说明 |
---|---|
\ |
转义符 |
()、[] |
括号 |
*、+、?、{n}… |
限定符 |
^、$、\ |
其它元字符 |
标签:字符,匹配,正则表达式,exp2,exp1,限定符 来源: https://www.cnblogs.com/euler0525/p/16619427.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。