美文网首页
正则表达式

正则表达式

作者: younglaker | 来源:发表于2020-03-03 13:22 被阅读0次

    非打印字符

    字符 含义
    \f 匹配一个换页符
    \n 匹配一个换行符
    \r 匹配一个回车符
    \t 匹配一个制表符
    \v 匹配一个垂直制表符
    \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
    \S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。

    字符类

    字符 含义
    [...] 在括号内的任意字符。要匹配 [,使用 [
    [^...] 不在括号内的任意字符
    . 匹配除换行符 \n 之外的任何单字符。要匹配 . ,使用 .
    \d 任意一个数字,0~9 中的任意一个,[0-9]
    \D 非数字,[^0-9]
    \w 任意一个字母、数字、下划线 ,[a-zA-Z0-9_]
    \W 非字母、数字、下划线 ,[^a-zA-Z0-9_]

    重复字符

    字符 含义
    {n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。
    {n,} n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。
    {n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。
    ? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 、 "does" 中的 "does" 、 "doxy" 中的 "do" 。等价于 {0,1}
    + 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。等价于 {1,}
    * 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。等价于{0,}

    选择、分组、引用

    字符 含义
    | 指明两项之间的一个选择。
    (...) 组合。将几个项目组合为一个单元,并记忆这个组合匹配的字符以供引用
    (?...) 只组合。将几个项目组合为一个单元,但不记忆这个组合匹配的字符
    \数字 和第几个分组第一次匹配的字符相匹配

    锚点字符

    字符 含义
    ^ 在方括号外匹配输入字符串的开始位置 [...],在方括号内表示不接受该方括号表达式中的字符集合[...]。
    $ 匹配输入字符串的结尾位置。
    \b 匹配单词边界,即位于\w和\W之间,或\w与字符串开头或结尾处。注意[\b]是匹配退格符backspace
    \B 匹配非单词边界,即左右两边都是 "\w" 范围或者左右两边都不是 "\w" 范围时的字符缝隙
    (?=p) 正前向声明,要求接下来的字符都与模式p匹配,但是不包括匹配的那些字符
    (?!p) 反前向声明,要求接下来的字符不与模式p匹配

    锚点字符

    字符 含义
    i 不区分大小写
    g 全局匹配,找到所有匹配结果,而不是找到第一个就停止
    m 多行匹配

    JavaScript 方法

    str.search (reg)

    返回第一个匹配的子串的开始字符的位置,没匹配的就返回-1

    str.replace (reg, str2)

    把匹配reg的子串替换成str2

    str.match (reg)

    返回匹配的结果的数组

    str.split(reg)

    返回按正则要求切分字符串的数组

    reg.exec(str)

    与 str.match (reg) 相似,只不过调用的对象和参数相反

    reg.test (str)

    字符串包含正则匹配则返回true

    相关文章

      网友评论

          本文标题:正则表达式

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