美文网首页
正则学习笔记—基础篇

正则学习笔记—基础篇

作者: liuyx | 来源:发表于2019-04-24 11:10 被阅读0次

    1、什么是正则?

    我的理解:处理字符串的工具。

    2、如何使用?

    先睹为快:
    /\d/
    匹配0-9的字符串:0 1 2 3 4 5 6 7 8 9

    /\.(jpg|png|gif)/i
    1.jpg
    a.JPG
    a.Jpg

    以小见大:

    3、定界符两个斜杠://

    匹配规则写在两个两个斜杠之间

    4、 转义一个反斜杠\

    \d [0-9]
    \w [a-z0-9_]
    \s 空白
    . 任意字符
    \D [^0-9] 其中 ^表示排除
    \W [^a-z0-9_]
    \S 非空白

    5、定界符右侧的:

    1)i 忽略大小写
    2)g 即global 贪婪模式,也可以组合使用 iggi

    6、 元字符一对中括号[ ]的含义

    1)任何一个

    /a[abc]q/
    正确:aaq,abq,acq
    错误:abbq

    2)范围

    /[a-z]/i:a至z之间的任意一个字母,i 不区分大小写
    /[0-9]/: 0至9之间的任意一个数字
    /[a-z0-9]/:匹配一个字符,a至z之间小写字母或0至9之间的数字
    [3-59] [3-5 9]:匹配一个数字,3至5之间的数字或数字9

    3)排除

    [^a-z0-9]:匹配一个字符,a至z或0至9之外的字符

    7、 量词一对大括号{ }

    {n} /a{6}/ /\d{11}/ :匹配n个字符
    {n,m} /\d{5,12}/:匹配5至12个字符
    {n,} /\w{6,}/:至少6个字符,多了不限
    + 等价于 {1,} :至少一个,多了不限
    ? 等价于{0,1} :有且仅有一个
    . : 任意字符
    示例:
    /\.jsx?/ :匹配: .js .jsx
    /a.{3,20}z/: 匹配: a 任何字符5-18 z
    正确:a#5678#z
    正确:a123456z
    正确:a2wewrjkjl8934&*z

    8、修饰符即条件

    ^ 行首
    $ 行尾
    示例:
    /\.js/ 1.js.png 1.html.js.png.ccc 符合规则,但显然不是我们需要的结果

    /\.js$/i 1.js 1231.txt.js 正确

    /^https?:\/\// 正确

    9、优先级

    使用圆括号( )提示优先级

    let re=/\.(jpg|gif|png)$/i;
    
    // const str = 1.Png;   // 通过
    // const str = 2.jpg;   // 通过
    const str = 3.GIF;      // 通过
    
    if(re.test(str)){
         alert('通过');
     }else{
         alert('不对');
    }
    

    相关文章

      网友评论

          本文标题:正则学习笔记—基础篇

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