\d 查找数字 \D 查找非数字字符
\s 查找空白字符 \S 查找非空白字符
\w 查找数字、字母及下划线 \W 查找非单词字符
\n 查找换行符
\0 查找 NULL 字符
\r 查找回车符
n+ 查找一个或者多个 如: /a+/ 匹配 "candy" 中的 "a","caaaaaaandy" 中所有的 "a" 当为n+?时,是禁止贪婪,偏向于少的一方,即n出现一次
n* 匹配任何包含零个或多个 n 的字符串 如: /bo*/ o可有可无 boooo...或者b
n? 匹配任何包含零个或一个 n 的字符串 如: /e?le?/ 匹配 "angel" 中的 "el","angle" 中的 "le"
n{X} X 个 如: /a{2}/ 匹配连续2个a, 超过2个a也只匹配前两位
n{X,} X 是一个正整数。 如: /a{2,}/ 匹配连续超过2个a 2个到正无穷 例如匹配 "caandy" 和 "caaaaaaandy." 中所有的 "a"。
n{X,Y} X和Y 是一个正整数。 如: /a{3,6}/ 匹配连续3-6个a 注意:aaaaaaaaaaaaaaa也只匹配前6位
^n 匹配任何开头为 n 的字符串。 当^在[]表示非
n$ 匹配任何结尾为 n 的字符串。
?=n 匹配任何其后紧接是n
?!n 匹配任何其后不是n
(?<=[a-z])\d 表示数字前面必须是字母
(?<![a-z])\d 表示数字的前面不是字母
\d(?![a-z]) 表示数字的后面不是字母
\d(?=[a-z]) 表示数字的后面必须是字母
. 匹配任意 除了换行符\n
1、[] 原子表:
只匹配[]中的任意一个字符 如[1234],只要存在1234中任意一个就是true 注意:原子表中的字符就是字符串本身 例如[\d\s]就是匹配字符串d或者s,转不转义都一样
2、()原子组:
如果有 | 表示左右两边为一个整体,满足一个即匹配成功 例如(12|13) 匹配12或13都算成功 如果有多个(),表示一个()代表一组 可以用占位符$1表示 第一个()使用$1替换 第二个()使用$2替换,依次类推
3、(?:[0-9]):
表示不记录组(忽略当前这个组) 注意此时,就不能用$1, $2的形式了
4、当是(?=)、(?!)、(?<=)、(?<!)、(?!)、(?=)这几种形式时,不表示组,表示条件语句, 注意:此时也不能用$1, $2的形式了
5、^ * + ? {} $ ?= ?! 这些前面是(),会把()中的内容当做一个整体去限制
// 正则的几种模式:
s 单行匹配 ``中有一处或者多处换行 在匹配s模式时,是将``中的内容整体当做一行来匹配
m 多行匹配 ``中有一处或者多处换行 在匹配m模式时,是将``中的每一行单独匹配
g 全局匹配
i 不区分大小写
标签:字符,匹配,任何,正则表达式,零个,js,查找,字符串
From: https://www.cnblogs.com/demoTimes/p/17315386.html