正则表达式总结

来源:互联网 发布:进货收货出售软件 编辑:程序博客网 时间:2024/06/16 04:03

博主因为正则表达式不是特别熟悉吃了大亏,总觉得用到时现查就好了,然而这种基础的东西还是要自己掌握好,与其说是技术博客,更不如像是笔记。

正则表达式总结

1. 正则表达式中的直接量字符

字符                    匹配

字母和数字字符          自身

\o                      NUL字符

\t                      制表符

\n                      换行符

\v                      垂直制表符

\f                      换页符

\r                      回车符

\xnn                    十六进制数nn指定的拉丁字符 e.g.\x0A ==\n

\uxxxx                  十六进制数指定的Unicode字符, \u0009==\t

\cX                    控制字符 ^X  \cJ==\n

 

2. 字符类

[…]         方括号内的任意字符

[^…]        不在方括号内的任意字符

.           除换行符和其他Unicode行终止符之外的任意字符

\w         等价于[a-zA-z0-9]

\W         等价于[^a-zA-z0-9]

\s          任何Unicode空白符

\S          任何非Unicode 空白符的字符

\d          等价于[0-9]

\D          [^0-9]

[\b]          退格直接量

 

3.  重复字符语法

{n,m}  匹配前一项至少n次,不能超过m次

{n,}    匹配前一项n次或更多次

{n}     匹配前一项n次

?      等价于{0,1}

+      等价于{1,}

*       等价于{0,}

 

4.  选择、分组、引用

/ab|cd|ef/  匹配ab或cd或ef,匹配次序从左到右,如果先匹配了左边就不会再匹配右边

\1 匹配的是正则表达式中第一个(),\2 \3

正则表达式中不允许双引号括起的内容中有单引号,反之亦然

 

5. 正则表达式中的锚字符

^    匹配字符串的开头

$    结尾

\b   匹配单词的边界

\B   匹配非单词边界的位置

(?=p) 零宽正向先行断言,要求接下来的字符都与p匹配,但不能包括匹配p的那些字符

(?!p) 零宽负向先行断言,要求接下来的字符都不与p匹配

6.

\i        执行不区分大小写的匹配

\g        执行全局匹配

\m       多行模式匹配


0 0
原创粉丝点击