正则表达式要点整理

2017-05-19  本文已影响31人  VitaminChen
字符 含义
\n 换行符
\r 回车
\s 匹配任何空白字符,包括空格、制表符、换页符等等
\S 匹配任何非空白字符
$ 匹配输入字符串的结尾位置,比如 abc$ 可以匹配到 123abc
^ 匹配输入字符串的开始位置,但在方括号中使用,表示除去表达式中的字符。例 ^abc 可以匹配 abc123,[^abc] 可以匹配 bcdef
. 匹配任何 单个字符 (除新行符 (\r\n) 外)
* 匹配 零个或多个 前面的字符。.* 是匹配范围最广的模式之一, 因为它可以匹配零个或多个任意字符
+ 匹配 一个或多个 前面的字符
匹配 零个或一个 前面的字符,可以理解为前面的字符是可选的。例 a(bc)? 可以匹配 axxxx 或者 abcxxxxx
{n} 精确匹配n次
{n,} 匹配最少n次
{n,m} 匹配n到m次
[...] [abc] 表示 "a, b, c 的中任何一个字符"。使用破折号来创建范围,例如[a-z] 表示 "在小写字母 a 和 z (包含的) 之间的任何一个字符"。 列表和范围可以组合在一起,例如 [a-zA-Z0-9_] 表示 "字母, 数字或下划线中的任何一个字符"。^用在方括号里表示排除
\d 匹配任意一个数字 (相当于类 [0-9])
\w 匹配任意一个字母数字下划线,等同于 [a-zA-Z0-9_]
\b 代表着单词的开头或结尾,也就是单词的分界处,通常用来避免意外地匹配到在其他单词内的某个单词,例 \bcat\b 对于 123catabc,123_cat_abc都无法匹配,对于 123 cat abc,123-cat-abc 则可以匹配。即cat前后要用除了[a-zA-Z0-9_]以外的字符分隔开才能匹配
I 将两个或多个可选项目分隔开来. 如果可选项目中 任何一个 满足条件, 则会形成匹配
上一篇 下一篇

猜你喜欢

热点阅读