正则表达式,一篇就够了

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。

  1. .点号
    用于匹配除换行符之外的任意一个字符,如t.r可以匹配tar、tbr等,但不能匹配taar,taar可以对应为t..r

  2. * 星号
    用于匹配前一个字符出现0次或者任意多次,如zo*,可以匹配z、zo、zoo等,*号经常和.号一起使用,.*代表任意长度的不包含换行符的字符。

  3. \{n,m}\}
    虽然*可用于重复匹配前一个字符,但却不能精确地控制匹配的重复次数,使用\{n,m\}符号则能更加灵活地控制字符的重复次数。
    \{n\} 匹配前面的字符n次;
    \{n,\} 匹配前面的字符至少n次;
    \{n,m\}匹配前面的字符n到m次;
    ro\{2\}t,匹配为root,ro\{2,\}t,匹配root、rooot、roooot等,ro\{2,10\}t匹配root、rooot一直到roooooooooot。

  4. ^ 尖角号
    匹配开头的字符。比如^root匹配以root开头的行。

  5. $ 美元符
    ^相对,用于匹配尾部,比如root$匹配以root结尾的行。^$则代表改行为空,因为二者之间什么都没有。

  6. [] 方括号
    用于匹配方括号中出现的任一字符,比如[ABCD]匹配A、B、C、D四个选项中的任意一个。[A-Z]匹配任意一个大写字母,[A-Za-z]匹配任意一个字母。

  7. \ 反斜杠
    代表转义字符,有一些特殊字符,都涉及到转义,才能够正确表示。比如.*表示任意长度不包含换行符的内容,而\.*表示任意长度的点号,\\是对\本身的转义。

  8. \<\>
    用于界定单词的左边界和有边界,比如\<hello用于匹配hello开头的单词,其中包括helloworld等等,hello\>用于匹配hello结尾的单词,使用\<hello\>可以精确的匹配到单词hello。

  9. \d
    匹配一个数字,等价于[0-9]\D匹配一个非数字

  10. \b
    匹配单词边界,\bhell\b可精确匹配到hello单词。\B匹配费单词的边界,比如hello\B可以匹配helloworld

  11. \w
    匹配字母、数字和下划线,等价于[A-Za-z0-9]\W等价于[^A-Za-z0-9]匹配非字母、非数字、非下划线

  12. \n
    匹配一个换行符

  13. \r
    匹配一个回车符

  14. \t
    匹配一个制表符

  15. \f
    匹配一个换页符

  16. \s
    匹配任意空白字符

  17. \S
    匹配任何非空白字符

猜你喜欢

转载自blog.csdn.net/qq_41885819/article/details/115112448