\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
[] 原子表 只匹配[]中的任意一个字符 如[1234],只要存在1234中任意一个就是true 注意:原子表中的字符就是字符串本身 例如[\d\s]就是匹配字符串d或者s,转不转义都一样
()原子组 如果有 | 表示左右两边为一个整体,满足一个即匹配成功 例如(12|13) 匹配12或13都算成功 如果有多个(),表示一个()代表一组 可以用占位符$1表示 第一个()使用$1替换 第二个()使用$2替换,依次类推
(?:[0-9]) 表示不记录组(忽略当前这个组) 注意此时,就不能用$1, $2的形式了
当是(?=)、(?!)、(?<=)、(?<!)、(?!)、(?=)这几种形式时,不表示组,表示条件语句, 注意此时,也不能用$1, $2的形式了
^ * + ? {} $ ?= ?! 这些前面是(),会把()中的内容当做一个整体去限制
// 正则的几种模式:
s 单行匹配 ``中有一处或者多处换行 在匹配s模式时,是将``中的内容整体当做一行来匹配
m 多行匹配 ``中有一处或者多处换行 在匹配m模式时,是将``中的每一行单独匹配
g 全局匹配
i 不区分大小写
js正则表达式
发布时间 2023-04-13 16:47:16作者: 随手笔记