表严肃讲正则表达式:https://www.bilibili.com/video/av18182693/?p=1
在线练习地址:https://regexr.com/
- 正则语法:
/正则表达式主体/修饰符(可选)
.
代表匹配所有,\
是转义符,g
代表全局三条数据:3.14, 3.12, 3-14 ⑴ 正则 /3.14/g 会匹配到俩条数据 3.14 和 3-14 ⑵ 正则 /3\.14/g 只会匹配到一条数据 3.14 (\. 经过转义指定表示 .)
- 小写 w 的
\w
匹配阿拉伯数字、英文字母大小写和下划线。
大写 W 的\W
,匹配除小写 w 的\w
外的字符(包括空格、断行)。 \d
只匹配阿拉伯数字,\D
匹配所有非阿拉伯数字(包括空格、断行)。\s
匹配空白字符:空格、制表符tab、断行,/S
匹配/s
排除在外的字符。字符集合:选择范围,匹配
[]
内的任一字符字符在 Unicode 会有对应编码,汉字的编码位置 u4e00 ~ u9fa5
检测网址: http://graphemica.com//[abc]/g 匹配所有a、b、c三个字符 /[a-z]/g 匹配所有 a 到 z 的字符 /[A-Z]/g 匹配所有 A 到 Z 的字符 /[0-9]/g 匹配所有 0 到 9 的字符, 0 是第一位 /[\u4e00-\u9fa5]/g 匹配在编码中的第一个汉字到最后一个(4e00是16进制,换成十进制为 19968)
+
前面的字符可以出现一次或多次。
/ab+/g
匹配ab
、abb
等
/[aA]b+/g
匹配Abbbbb
、abb
等
/[aA][bB]+/g
匹配ab
、Abbbbb
、aBBB
、abbBB
等[范围]*
星号表示重复零次或多次
/[Aa][bB]+[!\.~]*/g
星号在这里表示符号范围可有可无,所以可以匹配aB
ab!
Ab.
AB~
Ab.~
ABBBB
等。[范围]?
问号表示出现零次或一次
/[Aa][bB]+p?[!\.~]*/g
问号在这里限制匹配 p 出现一次或者不出现的情况,可以匹配ab!
Abp.~
等。{a,b}
表示前面字符可以 重复出现 a 次至 b 次(逗号后有空格会失败)
分组匹配