基本正则表达式:REGular EXPression(REGEXP)
一、元字符:
. :匹配任意单个字符;
[] :匹配指定范围内的任意单个字符;
[^]:匹配指定范围外的任意单个字符。
PS:常用字符集合
[:digit:] ―― 数字集合
[:lower:] ―― 小写字母集合
[:upper:] ―― 大写字母集合
[:space:] ―― 空格
[:alpha:] ―― 所有字母集合
[:alnum:] ―― 所有字母和数字集合
二、次数匹配:
* :匹配其前面的字符任意次;
.* :匹配任意长度的任意字符;
? :匹配其前面的字符至少一次 ;
{m,n}:匹配其前面的字符至少m次,最多n次。
PS:正则表达式默认情况工作在贪婪模式下,即匹配符合表达式的最大长度字符串。
三、位置锚钉:
^ :锚钉行首,此字符后面的内容必须出现在行首;
$ :锚钉行尾,此字符前面的内容必须出现在行尾;
^$:空白行(锚钉刚开始就结束的行);
&;或b:锚钉词首,其后面的任意字符必须作为单词(非英语意义上的单词)首部出现;
&;或b:锚钉词尾,其前面的任意字符必须作为单词(非英语意义上的单词)尾部出现。 例如:&;root&;匹配root这个单词。
四、分组:
():匹配分组内容,将小括号中的内容作为一个整体去匹配。 例如:(ab)*表示匹配“ab”任意次。
后向引用(有人也称为前向引用):在使用分组的前提下使用。 1 ―― 引用第一个左括号以及与之对应的右括号所包含的所有内容(无论是否出现括号嵌套) 2 ―― 引用第二个左括号以及与之对应的右括号所包含的所有内容(同上) 3 ―― ...(依次类推)... 例如以下三行内容: He like his liker. She love her lover. He like her lover. 表达式:l..e 可以匹配每一行; 表达式:(l..e).*1 只能匹配前两行。
扩展正则表达式:(区别于基本正则表达式)
? :次数匹配,匹配其前面的字符最多一次(注意:此处前面没有);
+ :次数匹配,匹配其前面的字符至少一次(注意:基本正则表达式没有此元字符);
{m,n}:次数匹配,用法同基本正则表达式 (花括号前面不需要使用);
():分组,真正意义上的分组(不需要使用),同样支持后向引用;
| :或者。例如:a|b 匹配a或者b,C|cat 匹配C或者cat(匹配整个左边或右边)。
over. (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|