正则表达式

有些人在碰到问题时,就想:“我知道,我可以使用正则表达式。”现在,他们就有了两个问题。 ————jamie“jwz”Zawinski

正则表达式的强大之处在于引入特殊字符来定义字符集、匹配子组和重复模式。

1、符号

 1 foo #literal 匹配文本字符串的字面值literal
 2 foo|bar #re1|re2 匹配正则表达式re1或者re2
 3 b.b #. 匹配任何字符 (除了
之外)
 4 ^Dear #^匹配字符串起始部分
 5 /bin/*sh$ # 匹配字符串终止部分
 6 [A-Za-z0-9]* #*匹配0次或是多次前面出现的正则表达式
 7 [a-z]+.com #+ 匹配1次或是多次前面出现的正则表达式
 8 goo? #? 匹配0次或是1次前面出现的正则表达式
 9 [0-9]{3} #{N} 匹配N次前面出现的正则表达式
10 [0-9]{5,9} #{M,N} 匹配M~N次前面出现的正则表达式
11 [aeiou] #[...] 匹配来自字符集的任意单一字符
12 [0-9],[A-Za-z] #[..X-Y..]匹配X~Y范围中的任意单一字符
13 [^aeiou] #[^...] 不匹配刺激腹肌中出现的任意一个字符,包括某一范围的字符(如果在此字符集中出现)
14 .?[a-z] #(*|+|?|{})? 用于匹配上面批发呢出现/重复出现符号的非贪婪版本(*、+、?、{})
15 ([0-9]{3})?,f(oo|u)bar #(...) 匹配封闭的正则表达式,然后另存为子组

2、特殊字符

1 datad+.txt #d 匹配任何十进制数字,与[0-9]一致(D与d相反,不匹配任何非数值型的数字)
2 [A-Za-z]w+ #w 匹配任何字母数字字符,与[A-Za-z0-9_]相同(W与之相反)
3 ofsthe #s 匹配任何空格字符,与[
	
vf]相同(S与之相反)
4 The #匹配任何单词边界(B与之相反)
5 price:16 #N 匹配已保存的子组
6 .,\,* #c 逐字匹配任何特殊字符c
7 ADear #A() 匹配字符串的起始(结束)

 

原文地址:https://www.cnblogs.com/fromzore/p/8763615.html