正则表达式
[ABC]
匹配字符串的ABC
[^ABC]
匹配除了ABC的所有字符
[A-Z]
匹配大写字母,[a-z]表示匹配小写字母,[0-9]表示匹配数字
.
匹配主力换行符之外的任何单个字符,即[^\n\r]
[\s\S]
匹配所有,\s表示所有空白符,包括换行
\S表示非空白符,包含换行
\w
匹配字母数字下划线,即[A-Za-z0-9_]
$
匹配输入字符串的结尾位置,如果要匹配自己本身使用$
()
标记一个子表达式的开始和结束
*
前面的子表达式零次或多次
+
前面的子表达式一次或多次
?
前面的子表达式零次或一次
\
将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n’ 匹配字符 ‘n’。’\n’ 匹配换行符。序列 ‘\’ 匹配 “”,而 ‘(’ 则匹配 “(”。
^
匹配输入字符串的开始位置
{
标记限定符表达式的开始
|
指明两项之间的一个选择
{n}
n 是一个非负整数。匹配确定的 n 次。
{n,}
n 是一个非负整数。至少匹配n 次。
{n,m}
m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。
\b
匹配一个单词边界,也就是指单词和空格间的位置。例如, ‘er\b’ 可以匹配"never" 中的 ‘er’,但不能匹配 “verb” 中的 ‘er’。
\B
匹配非单词边界。‘er\B’ 能匹配 “verb” 中的 ‘er’,但不能匹配 “never” 中的 ‘er’。
\d
匹配一个数字字符。等价于 [0-9]。
\D
匹配一个非数字字符。等价于 [^0-9]。
\f
匹配一个换页符。
\n
匹配一个换行符。
\r
匹配一个回车符
\t
匹配一个制表符
\v
匹配一个垂直制表符。
\W
匹配非字母、数字、下划线。
修饰符——可以一次使用多个
i——不区分大小写
g——全局匹配
m——多行匹配
s——特殊字符圆点 . 中包含换行符 \n
优先级
转义符\
括号(),[]
限定符*,+,?,{n},{n,},{n,m}
^, $, \任何元字符、任何字符
或操作|