加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式中的"^"这个符号的一些思考

发布时间:2020-12-13 22:02:20 所属栏目:百科 来源:网络整理
导读:在学习正则表达式的时候,一些常见的规则我们都不难理解,但是有 一个正则表达式中的特殊字符让我一直有点搞不懂,就是”^”这个字符,文档上给出了解释是匹配输入的开始,如果多行标示被设置成了true,同时会匹配后面紧跟的字符。比如 1 1 /^ A /会匹配 "An

在学习正则表达式的时候,一些常见的规则我们都不难理解,但是有 一个正则表达式中的特殊字符让我一直有点搞不懂,就是”^”这个字符,文档上给出了解释是匹配输入的开始,如果多行标示被设置成了true,同时会匹配后面紧跟的字符。比如

 
 
  • 1
  • 1
/^A/会匹配"An e"中的A,但是不会匹配"ab A"中的A

然后他还有第二种用法就是

当这个字符出现在一个字符集合模式的第一个字符时,他将会有不同的含义。

比如

  
  
  • 1
  • /[^a-zs]/会匹配"my 3 sisters"中的"3"

    这里的”^”的意思是字符类的否定,上面的正则表达式的意思是匹配不是(a到z和空白字符)的字符。
    以前总是搞不懂,什么时候”^”是否定字符,什么时候是匹配开始行,然后就查资料进行对比,终于发现了规律。

      
      
  • 1
  • 2
  • 3
  • 4
  • 5
    • 1
    • 2
    • 3
    • 4
    • 5
    /[(^s+)(s+$)]/g (^cat)$ (^cat$) ^(cat)$ ^(cat$)

    上面这个正则表达式中”^”就是限定开头的意思

    这些正则表达式中”^”表示的就是表示字符类的否定。

      
      
  • 1
  • 2
  • 3
  • 4
    • 1
    • 2
    • 3
    • 4
    [^a]表示“匹配除了a的任意字符”。 [^a-zA-Z0-9]表示“找到一个非字母也非数字的字符”。 [^abc]表示“找到一个插入符或者a或者b或者c”。 [^^]表示“找到除了插入符外的任意字符”。(呕!)

    经过对比,我发现了只要是”^”这个字符是在中括号”[]”中被使用的话就是表示字符类的否定,如果不是的话就是表示限定开头。我这里说的是直接在”[]”中使用,不包括嵌套使用。 其实也就是说”[]”代表的是一个字符集,”^”只有在字符集中才是反向字符集的意思。

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读