常见正则表达式符号和特殊字符
符号
描述
示例
Literal正则匹配空字符串
匹配文本字符串的字面值literal
Foo
re1| re2
匹配正则表达式re1或者re2
foo|bal
.(点)
匹配任何字符(除了\n之外)
b.b
^
匹配字符串的起始部分
^Dear
$
匹配字符串的终止部分
/bin/*sh$
*
匹配0次或多次前面出现的正则表达式
[A-Za-z0-9]*
+
匹配1次或多次前面出现的正则表达式
[a-z]+\
?
匹配0次或1次前面出现的正则表达式
goo?
{N}
匹配N次前面出现的正则表达式
[0-9]{3}
{M,N}
匹配M~N次前面出现的正则表达式
[0-9]{3,5}
[...]
匹配来自字符集的任意单一字符
[aeiou]
[..x-y..]
匹配x~y范围中的任意单一字符
[0-9],[a-z]
[^...]
不匹配此字符集中出现的任何一个字符,包括某一范围内的字符(不包括此字符集中出现)
[^aeiou]
(*|+|?|{})?
用于匹配上面频繁出现/重复出现符号的非贪婪版本(*、+、?、{})
.*?[a-z]
(...)
匹配封闭的正则表达式然后另存为子组
([0-9]{3})?,f(oo|u)bar
特殊字符
\d
匹配任何十进制数字,与[0-9]一致(\D与\d相反,不匹配任何非数值型的数字)
data\d+.txt
\w
匹配任何字母数字字符,与[A-Za-z0-9]相同(\W与之相反)
[A-Za-z]\w+
\s
匹配任何空格字符,与[\n\t\r\v\f]相同(\S与之相反)
of\sthe
\b
匹配任何单词边界(\B与之相反)
\bThe\b
\N
匹配已保存的子组N(参见上面的(...))
price:\14
\c
逐字匹配任何特殊字符c(即,仅按字面意思匹配,不匹配特殊含义)
\.,\\,\*
\A(\Z)
匹配字符串的起始(结束)(另见上面的^和$)
\ADear
扩展表示法
(?iLmsux)
在正则表达式中嵌入一个或者多个特殊“标记“参数(或者通过函数/方法)
(?x),(? Im)
(?...)
表示一个匹配不用保存的分组
(?:\w+\.)*
(?p<name>...)
像一个仅由name标识而不是数字ID标识的正则分组匹配
(?p<data>)
(?P=name)
在同一字符串中匹配由(?p<name)分组的之前文本
(?p=data)
(?#...)
表示注释,所有内容都被忽略
(?#comment)
(?=...)
匹配条件是如果...出现在之后的位置,而不适用输入字符串;称作正向前视断言
(?=)
(?!...)
匹配条件是如果...不出现之后的位置,而不使用输入字符串;称作负向前视断言
(?!)
(?<=...)
匹配条件是如果...出现在之前的位置;而不使用输入字符串;称作正向后视断言
(?<=800-)
(?<!...)
匹配条件是如果...不出现在之前的位置,而不使用输入字符串;称作负向后视断言
(?<!192\.168\.)
(?(id/name)Y|N)
如果分组所提供的id或name存在,就返回正则表达式的条件匹配Y,如果不存在就返回N;|N是可选项
(?(1)y|x)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。