美文网首页
js正则表达式

js正则表达式

作者: 董二干先生 | 来源:发表于2019-05-17 20:09 被阅读0次

    元字符

    正则表达式让人望而却步以一个重要原因就是转义字符太多了,组合非常多,但是正则表达式的元字符(在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符)并不多。

    ( [ { \ ^ $ | ) ? * + .
    
    特殊字符
    字符 含义
    \t 水平制表符
    \r 回车符
    \n 换行符
    \f 换页符
    \v 垂直制表符
    \0 空字符

    字符类

    一般情况下正则表达式一个字符(转义字符算一个)对应字符串一个字符,一般情况下正则表达式一个字符(转义字符算一个)对应字符串一个字符。但是我们可以使用元字符[]来构建一个简单的类, 比如[abcd]代表一个字符,这个字符可以是 abcd四个字符中的任意一个。

    表示范围

    匹配数字0-9:[0-9].
    匹配字母:[a-zA-Z].

    取反

    元字符[]组合可以创建一个类,我们还可以使用元字符^创建反向类/负向类,反向类的意思是不属于XXX类的内容,表达式[^abc] 表示一个不是字符a或b或c的字符。

    预定义类

    字符 等价类 含义
    . [^\r\n] 除了回车符和换行符外所有字符
    \d [0-9] 数字字符
    \D [^0-9] 非数字字符
    \s [\t\n\x0B\f\r] 空白符
    \S [^\t\n\x0B\f\r] 非空白符
    \w [a-zA-Z_0-9] 单词字符,字母、数字下划线
    \W [^a-zA-Z_0-9] 非单词字符

    边界

    正则表达式还提供了几个常用的边界匹配字符。

    字符 含义
    ^ 以xxx开头
    $ 以xxx结尾
    \b 单词边界
    \B 非单词边界

    量词

    字符 含义
    ? 出现零次或一次(最多出现一次)
    + 出现一次或多次(至少出现一次)
    * 出现零次或多次(任意次)
    {n} 出现n次
    {n,m} 出现n到m次
    {n,} 至少出现n次

    修饰符

    • g:global,全文搜索,不添加的话搜索到第一个结果停止搜索
    • i:ingore case ,忽略大小写,默认大小写敏感
    • m:multiple lines 多行搜索

    分组

    希望一个字符作为一个整体搜索,加上()。

    var reg1 = /hello|world/ 
    //等同于
    var reg2 = /(hello)|(world)/
    

    相关文章

      网友评论

          本文标题:js正则表达式

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