美文网首页
正则表达式

正则表达式

作者: 钟离惜 | 来源:发表于2020-11-23 20:49 被阅读0次

    一、元字符

    "^"

    匹配行或者字符串的起始位置。
    eg:^This匹配This is Regex中的This

    "$"

    匹配行或者字符串的结束位置。
    eg:Regex$匹配This is Regex中的Regex

    "\w"

    匹配字母,数字,下划线。
    eg:\w\w\w匹配This is Regexxxx中的ThiRegexx

    "\b"

    匹配一个位置,常用于匹配单词边界。
    它的前一个字符和后一个字符不全是"\w",除了前后都是"\w"的情况其它都可以。
    eg:\bis\b匹配This is Regex中的is

    "\d"

    匹配数字。
    eg:\d\d\d匹配1234567中的123456

    "\s"

    匹配空格。
    eg:\d\d\s\d匹配12 34567中的12 3

    "[ad]"

    匹配括号内存在的字符,还可以写成"[a-z]"来匹配。

    "."

    匹配除换行符以外的任何字符,相当于是"\w"和"\s"的组合。

    二、反义

    "\W"

    匹配不是字母,数字,下划线的字符。

    "\B"

    匹配一个位置,常用于匹配非单词边界。
    它的前一个字符和后一个字符全是"\w",即前后都是"\w"的情况。

    "\D"

    匹配不是数字的字符。

    "\S"

    匹配不是空格的字符。

    "[^ad]"

    匹配不存在括号内的字符。

    三、量词、懒惰限定符

    "*"

    重复零次或更多次。
    eg:a*匹配aaaaaaaa整个字符串。

    "*?"

    重复零次或更多次,但尽可能少重复。
    eg:a.*?b匹配acbaab中的acbaab

    "+"

    重复一次或更多次。
    eg:a+匹配aaaaaaaa整个字符串。

    "+?"

    重复一次或更多次,但尽可能少重复。
    eg:a.+?b匹配acbaab中的acbaab

    "?"

    重复零次或一次。
    eg:a?匹配aaaaaaaa中的八个a

    "{n}"

    重复n次。
    eg:a{3}匹配aaaaaaaa中的aaaaaa

    "{n,m}"

    重复n到m次。
    eg:a{3,6}匹配aaaaaaaa中的aaaaaa

    "{n,m}?"

    重复n到m次,但尽可能少重复。
    eg:a{3,6}?匹配aaaaaaaa中的aaaaaa

    "{n,}"

    重复n到更多次。
    eg:a{3,}匹配aaaaaaaa中的aaaaaaaa整个字符串。

    "{n,}?"

    重复n到更多次,但尽可能少重复。
    eg:a{3,}?匹配aaaaaaaa中的aaaaaa

    四、捕获分组

    "(exp)"

    匹配exp,并捕获文本到自动命名的分组里。

    "(?<name>exp)"

    匹配exp,并捕获文本到名称为name的组里。

    "(?:exp)"

    匹配exp,不捕获匹配的文本,也不给此分组分配组号。

    "(?=exp)"

    匹配exp前面的位置,如 "How are you doing" 正则"(?<txt>.+(?=ing))" 这里取ing前所有的字符,并定义了一个捕获分组名字为 "txt" 而"txt"这个组里的值为"How are you do"。

    "(?<=exp)"

    匹配exp后面的位置,如 "How are you doing" 正则"(?<txt>(?<=How).+)" 这里取"How"之后所有的字符,并定义了一个捕获分组名字为 "txt" 而"txt"这个组里的值为" are you doing"。

    "(?!exp)"

    匹配后面跟的不是exp的位置,如 "123abc" 正则 "\d{3}(?!\d)"匹配3位数字后非数字的结果。

    "(?<!exp)"

    匹配前面不是exp的位置,如 "abc123 " 正则 "(?<![0-9])123" 匹配"123"前面是非数字的结果也可写成"(?!<\d)123"。

    转载文章
    读懂正则表达式就这么简单

    相关文章

      网友评论

          本文标题:正则表达式

          本文链接:https://www.haomeiwen.com/subject/rgaqiktx.html