正则基础
Last updated
Was this helpful?
Last updated
Was this helpful?
推荐的在线学习、编写、测试集成工具:
[]
匹配[aeiou]
示例:
匹配结果: glib jocks vex dwarves!
^
非[^aeiou]
示例:
匹配结果正好与上一个示例中的互补
-
范围示例: [a-z]
表示从 a 到 z 范围内的所有小写字母
.
任意字符注意,.
表示所有字符(字母、数字、符号),除了:换行
\w
词语(word缩写)等同于: [A-Za-z0-9_]
\W
非词语等同于: [^A-Za-z0-9_]
\d
数字等同于: [0-9]
\D
非数字等同于: [^0-9]
\s
空白符包括:空格、制表符(Tab)、换行
\S
非空白符与空白符互补
^
起始示例: /^\d/
表示以数字开头
$
结束示例: /\d$/
表示以数字结尾
\b
单词边界示例:
\B
非单词边界与 \b
互补
\
保留字示例: \\
以字符串匹配 \
\t
Tab\n
换行非常见的转译字符:
\v
垂直Tab
\f
\r
回车
\0
Null
\cI
\000
八进制
\xFF
十六进制
\uFFFF
Unicode
\u{FFFF}
扩展Unicode
()
捕获分组示例: /(ha)+/
匹配重复的 ha
\1
数组引用示例: /(\w)a\1/
匹配以a为中间字母的三字叠字词如 dad
, hah
(?:)
非捕获分组依然以分组进行匹配,但不会创建捕获分组。
(?=)
向后匹配示例:
(?!)
向后反匹配示例:
+
至少出现一次示例: \d+
*
出现0次或多次{n,m}
出现n到m次示例:
\d{3}
指定 3 位数字
\d{1,3}
可以是 1 - 3 位数字
\d{3,}
可以是 3位或更多位数字
?
至多出现一次(0 或 1)示例: /colou?r/
匹配 color 和 colour
?
懒匹配正常情况下,数量匹配是贪婪匹配,尽可能匹配更多。
示例: /b\w+?/
表示尽可能少的匹配,如beers
匹配结果为be
。
|
或示例: b(a|e|i)d
$&
匹配
$1
捕获分组
$`
前匹配
$'
后匹配
$$
转义$
符号
\n
转义字符
i
忽略大小写
g
全局搜索
m
多行
u
Unicode
y
从上次位置继续并忽略 g
全局搜索