《正则表达式必知必会》阅读笔记

最近由于工作需要,再读了一遍《正则表达式必知必会》,这样一本小书,很快读完了,对于正则表达式有更深的了解,的确很强大,值得学习。

总结了一下,结果如下:

正则表达式的两个用途:搜索和替换


. 匹配任何一个单个的字符
[] 字符集合区间
- 连字符
^ 取非匹配


特殊元字符:
[\b]  回退
\f     换页符
\n    换行符
\r     回车符
\t     制表符
\v    垂直制表符
\d    任何一个数字字符 [0-9]
\D   [^0-9]
\w   [a-zA-Z0-9_]
\W   [^a-zA-Z0-9_]
\s    [\f\n\r\t\v]
\S   [^\f\n\r\t\v]
+ 匹配一个或多个字符
* 匹配零个或多个字符
? 匹配零个或一个字符
{N} 精确匹配出现N次
{N,M} 精确匹配N次到M次
{N,}   至少匹配N次
以上的方法均是贪婪型的,只要在后面加上一个?,变成懒惰型的
界限:
\b   指定单词的边界
\B   指定不是单词的边界
^    字符串开头
$     字符串结尾
?m  改变其他元字符行为的元字符序列,必须出现在整个模式的最前面
\n   回溯引用
$1  替换时的回溯引用
?=  向前查找,以?=为开头的子表达式,即最后的内容是否出现在匹配的范围内  
?<=  向后查找
?!   负向前查找,向前查找不匹配的
?<!  负向后查找,向后查找不匹配的
正则表达式的条件:
  
?( backreference)true-regex)  , 其中?表明这是一个条件,括号里的 backreference直接使用数字表示,代表只有在backreference存在时才会被执行的子表达式
?(backreference)true-regex|false-regex) 
常用正则表达式:
URL地址:
https?://[-\w.]+(:\d+)?(/([\w/_.]*)?)?
完整URL地址:
https?://(\w*:\w*@)?[-\w.]+(:\d+)?(/([\w/_.]*(\?\S+)?)?)?
电子邮件地址:
(\w+\.)*\w+@(\w+\.)+[A-Za-z]+

原文地址:https://www.cnblogs.com/liangxing/p/1991831.html