@H_404_2@
基本正则表达式:REGular EXPression(REGEXP)@H_404_2@
@H_404_2@
一、元字符:@H_404_2@
PS:常用字符集合@H_404_2@
[:digit:] ―― 数字集合@H_404_2@
[:lower:] ―― 小写字母集合@H_404_2@
[:upper:] ―― 大写字母集合@H_404_2@
[:space:] ―― 空格@H_404_2@
[:alpha:] ―― 所有字母集合@H_404_2@
[:alnum:] ―― 所有字母和数字集合@H_404_2@
@H_404_2@
@H_404_2@
* :匹配其前面的字符任意次;@H_404_2@
.* :匹配任意长度的任意字符;@H_404_2@
\? :匹配其前面的字符至少一次 ;@H_404_2@
\{m,n\}:匹配其前面的字符至少m次,最多n次。@H_404_2@
PS:正则表达式默认情况工作在贪婪模式下,即匹配符合表达式的最大长度字符串。@H_404_2@
@H_404_2@
三、位置锚钉:@H_404_2@
^$:空白行(锚钉刚开始就结束的行);@H_404_2@
\<或\b:锚钉词首,其后面的任意字符必须作为单词(非英语意义上的单词)首部出现;@H_404_2@
\>或\b:锚钉词尾,其前面的任意字符必须作为单词(非英语意义上的单词)尾部出现。@H_404_2@
例如:\<root\>匹配root这个单词。@H_404_2@
@H_404_2@
四、分组:@H_404_2@
\(\):匹配分组内容,将小括号中的内容作为一个整体去匹配。@H_404_2@
例如:\(ab\)*表示匹配“ab”任意次。@H_404_2@
后向引用(有人也称为前向引用):在使用分组的前提下使用。@H_404_2@
\1 ―― 引用第一个左括号以及与之对应的右括号所包含的所有内容(无论是否出现括号嵌套)@H_404_2@
\2 ―― 引用第二个左括号以及与之对应的右括号所包含的所有内容(同上)@H_404_2@
\3 ―― ...(依次类推)...@H_404_2@
He like his liker.@H_404_2@
She love her lover.@H_404_2@
He like her lover.@H_404_2@
表达式:l..e 可以匹配每一行;@H_404_2@
表达式:\(l..e\).*\1 只能匹配前两行。@H_404_2@
@H_404_2@
@H_404_2@
@H_404_2@
扩展正则表达式:(区别于基本正则表达式)@H_404_2@
@H_404_2@
@H_404_2@
@H_404_2@
| :或者。例如:a|b 匹配a或者b,C|cat 匹配C或者cat(匹配整个左边或右边)。
@H_404_2@
@H_404_2@
@H_404_2@
@H_404_2@
@H_404_2@
over.@H_404_2@