正则表达式(grep命令下的匹配)

前端之家收集整理的这篇文章主要介绍了正则表达式(grep命令下的匹配)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


@H_404_2@

基本正则表达式:REGular EXPression(REGEXP)@H_404_2@



@H_404_2@

一、元字符:@H_404_2@

  1. . :匹配任意单个字符;@H_404_2@

  2. [] :匹配指定范围内的任意单个字符;@H_404_2@

  3. [^]:匹配指定范围外的任意单个字符。@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@

  1. * :匹配其前面的字符任意次;@H_404_2@

  2. .* :匹配任意长度的任意字符;@H_404_2@

  3. \? :匹配其前面的字符至少一次 ;@H_404_2@

  4. \{m,n\}:匹配其前面的字符至少m次,最多n次。@H_404_2@

PS:正则表达式默认情况工作在贪婪模式下,即匹配符合表达式的最大长度字符串。@H_404_2@


@H_404_2@

三、位置锚钉:@H_404_2@

  1. ^ :锚钉行首,此字符后面的内容必须出现在行首;@H_404_2@

  2. $ :锚钉行尾,此字符前面的内容必须出现在行尾;@H_404_2@

  3. ^$:空白行(锚钉刚开始就结束的行);@H_404_2@

  4. \<或\b:锚钉词首,其后面的任意字符必须作为单词(非英语意义上的单词)首部出现;@H_404_2@

  5. \>或\b:锚钉词尾,其前面的任意字符必须作为单词(非英语意义上的单词)尾部出现。@H_404_2@

    例如:\<root\>匹配root这个单词。@H_404_2@


    @H_404_2@

四、分组:@H_404_2@

  1. \(\):匹配分组内容,将小括号中的内容作为一个整体去匹配。@H_404_2@

    例如:\(ab\)*表示匹配“ab”任意次。@H_404_2@

  2. 后向引用(有人也称为前向引用):在使用分组的前提下使用。@H_404_2@

    \1 ―― 引用第一个左括号以及与之对应的右括号所包含的所有内容(无论是否出现括号嵌套)@H_404_2@

    \2 ―― 引用第二个左括号以及与之对应的右括号所包含的所有内容(同上)@H_404_2@

    \3 ―― ...(依次类推)...@H_404_2@

    例如以下三行内容:@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@

  1. ? :次数匹配,匹配其前面的字符最多一次(注意:此处前面没有\);@H_404_2@

  2. + :次数匹配,匹配其前面的字符至少一次(注意:基本正则表达式没有此元字符);
    @H_404_2@

  3. {m,n}:次数匹配,用法同基本正则表达式 (花括号前面不需要使用\);@H_404_2@

  4. ():分组,真正意义上的分组(不需要使用\),同样支持后向引用;@H_404_2@

  5. | :或者。例如: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@

猜你在找的正则表达式相关文章