美文网首页
正则表达式

正则表达式

作者: 陈陈_2140 | 来源:发表于2019-01-27 20:58 被阅读0次

    1、什么是贪婪模式和非贪婪模式?

    先看一个例子:```

    var str = 'my "name" is "chen" nice to meet you';

    str.match(/".*"/g);

    str.match(/".*?"/g)

    ```

    贪婪模式:在进行正则匹配时,在满足匹配条件的前提下尽可能多的去匹配元素,这种匹配模式叫贪婪模式,默认情况下匹配模式为贪婪模式;如上述str.match(/.*/g)即贪婪模式去匹配,匹配结果为"name" is "chen"";

    非贪婪模式:在满足匹配条件的前提下,尽可能少的去匹配元素,即非贪婪模式,可以通过在表示匹配次数的表达式后面加上?来将正则匹配类型设置成非贪婪模式,如上述str.match(/".*?"/g)即为非贪婪模式,匹配的结果为["name","chen"]。

    2、\d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分别是什么?

    \d 表示数字字符,即0~9中间的任意一个字符;

    \w 表示单词字符,包括大小写字母,数字和下划线;

    \s 表示空格;

    [a-zA-Z0-9] 表示a-zA-Z0-9之间的任意一个字符;

    \b 单词边界,即空格、换行、回车、制表符、-等,

    .  除回车和换行之外任意字符,

    * 元素出现任意次,+ 元素出现一次或多次,? 元素出现0次或1次,x{3} x元素出现3次,

    ^ 在中括号中表示取反,如[^abcd123]表示不为abcd123中的任意一个字符,^在其他地方表示以什么开头,如:/^(hello)/g 表示匹配以hello开头的元素;

    $  表示以什么为结尾。

    相关文章

      网友评论

          本文标题:正则表达式

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