Regular Expression
用于对字符串的匹配
在文本处理中十分常用
表达文本类型的特征(病毒,入侵检测)
同时查找或替换一组字符串
匹配字符串的局部和全部
https://wenku.baidu.com/view/c4c7ced6240c844769eaeead.html
\b 特殊代码;代表单词的开始或结尾,也就是分界处,并不匹配单词某一个,只匹配位置。
\bhi\b.*\bLucy\b ---匹配开头是hi 结尾是Lucy,中间间隔任意个任意字符
. 任意一个字符
* 前面任意字符的任意数量
\d 匹配1位数字,相当于【0-9】
0\d\d-\d\d\d\d\d\d\d\d 0xx-xxxxxx
0\d{2}-\d{8}
\w 匹配字母大小写或者数字或者汉子
【A-Za-z0-9】
\ba\w*\b 字幕a开头,然后任意数量的任意字母或者数字,最后是单词结束符
\b+ 任意次,最少为1次
\b* 任意次,可以是0
^ 匹配字符串开始
$ 匹配字符串的结束
^hello$
^\d{5}$
\ 字符转义
\.
\*
\\
| 或者
重复
* 0-
+ 1-
?0?1
{n} 重复n次
{n,m} 重复n-m次
【^x】匹配除x意外的任意字符
【^abcde】匹配除abcde以外的任意字符
注释
(?#comment)
贪婪与懒惰
a.*b ab 之间任意 aabab 贪婪
a.*?b 匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最小的重复 aab 懒惰
*? 重复任意次,尽可能是
+? 重复1-更多次,尽可能少
?? 重复0-1次,尽可能少
{n,m?} 重复n-m少,尽可能少