标签:正则表达式 词条 常用 一个 之间 空白 src ima 重复
[字符1字符2]
ascii
码从小到大来指定
\d 表示所有的数字
\w 表示所有的数字、字母、下划线
\s 表示所有的空白,空格,换行,制表符
\D 表示所有的非数字
\W 表示 除字母、数字、下划线之外的所有字符
\S 表示非空白
.
表示除了换行符之外的所有内容[]
字符组,只要在中括号内的所有字符都是符合规则的字符[^]
非字符组,只要在中括号内的所有字符都是不符合规则的字符^
表示以一个字符为开始$
表示以一个字符为结束|
表示或,注意点:如果两个规则有重叠部分,总是长的在前面,短的在后面
()
表示分组,给一部分正则规定为一组,|
这个符号的作用域就可以缩小了{n} 表示只能出现n次
{n,} 表示至少出现n次
{n,m}表示至少出现n次,至多出现m次
? 表示匹配0次或1次 表示可有可无 但是有只能有一个 比如小数点
+
表示匹配1次或多次
*
表示匹配0次或多次 表示可有可无 但是有可以有多个 比如小数点后n位
?字符
表示按照元字符规则在量词范围内匹配,一旦遇到该字符就停止
. 是任意字符
* 是取 0 至 无限长度
? 是非贪婪模式。
在一起就是 取尽量少的任意字符,一般不会这么单独写,他大多用在:
.*?x
就是取前面任意长度的字符,直到一个x出现
默认匹配原则,使用的是回溯算法,总是会在符合量词条件的范围内尽量多匹配
惰性匹配,总是匹配符合条件范围内尽量少的字符串
几个常用的非贪婪匹配Pattern
*? 重复任意次,但尽可能少重复
+? 重复1次或更多次,但尽可能少重复
?? 重复0次或1次,但尽可能少重复
{n,m}? 重复n到m次,但尽可能少重复
{n,}? 重复n次以上,但尽可能少重复
标签:正则表达式 词条 常用 一个 之间 空白 src ima 重复
原文地址:https://www.cnblogs.com/Hedger-Lee/p/13055608.html