匹配
2019-08-11 本文已影响0人
Artifacts
正则表达式是一种
查找以及字符串替换
操作。正则表达式在文本编辑器中广泛使用,比如正则表达式被用于:检查文本中是否含有指定的特征词找出文中匹配特征词的位置从文本中提取信息,比如:字符串的子串修改文本与文本编辑器相似,几乎所有的高级编程语言都支持正则表达式。在这样的语境下,“文本”也就是一个字符串,可以执行的操作都是类似的。一些编程语言(比如Perl,JavaScript)会检查正则表达式的语法。
- 匹配任意字符
.
字符可以匹配任何一个单个的字符。
文本
sales1.xls
sales2.xls
sales3.xls
na1.xls
na2.xls
orders3.xls
apac1.xls
europe2.xls
正则表达式
sales.
结果
-
匹配字母和数字
\w 所有的数字、大小写英文字母以及下划线([a-zA-Z0-9_])
\W 任何一个非字母数字字符或下划线字符([^a-zA-Z0-9_]) -
匹配数字(digit)
\d 匹配数字(等价于[0-9])
\D 匹配所有非数字(等价于[^0-9]) -
匹配空白字符
\s 任何一个空白字符(等价于[\f\n\r\t\v])
\S 任何非一个空白字符(等价于[^\f\n\r\t\v]) -
字符集合
[a-zA-Z0-9] -
重复一次或多次
+
[范围]+ 重复一次或多次 -
重复零个或多个
[范围]* -
重复零个或一个
[范围]? -
指定重复范围
「重复a到b次」
重复次数匹配总结
+:匹配字符的一次或多次出现
?:匹配字符的0次或一次出现
*:匹配字符的0次或多次出现
{}:精确地设定重复次数
-
分组匹配
(范围) -
分组匹配但不捕获
(?: 模式) -
正向预查
正向肯定预查(?= 模式)
正向否定预查 (?!模式)
-
反向预查
反向肯定预查(?<= 模式)
反向否定预查(?<! 模式)