美文网首页
正则表达式的捕获组和细节

正则表达式的捕获组和细节

作者: codeflame | 来源:发表于2018-03-16 21:39 被阅读0次

通用的:

如"((a)(b)) c":引用捕获语法:用反斜杠+第几捕获,0是整个结果,括号的捕获从1开始算,顺序以左括号顺序为准,上面中 \0=abc,\1=ab,\2=a,\3=b
因此如"(a)(b)\1\1\2" 将匹配"abaab"

前瞻后顾:

前瞻:"ab(?=c)",匹配abcd中的ab,不匹配abd中的ab。c不被匹配,只是要求匹配的ab后面必须是c
负前瞻:"ab(?!c)",类似。要求匹配的ab后面不能有c,即与上面相反
后顾:"(?<=c)ab",类似。要求ab前有c
负后顾:"(?<!c)ab",类似。要求ab前没有c

私货:

visual studio/visual studio code的ctrl+h替换中,若替换内容使用捕获组,用美元符号'$'代替反斜杠''。其次,它不支持后顾,只有前瞻

转义问题:

你的书写         运行时          当作正则时
\n              换行符            换行符
\\n             \n               换行符
\\\\n           \\n              \n

即作正则时,正则处理中会再转义一次,算上默认的作字符串时的转义,一共把你的输入转义两次。

相关文章

  • JS正则表达式的骚操作

    参考资料 《JS正则表达式的分组匹配》《正则表达式之捕获组/非捕获组介绍》《正则表达式中(?:pattern)、(...

  • 正则表达式的捕获组和细节

    通用的: 如"((a)(b)) c":引用捕获语法:用反斜杠+第几捕获,0是整个结果,括号的捕获从1开始算,顺序以...

  • 如何优雅的使用正则表达式(讲解五)

    非捕获组和命名组 精心设计的正则表达式可能会划分很多组,这些组不仅可以匹配相关的子串,还能够对正则表达式本身进行分...

  • IDEA中使用正则表达式查找、替换、大小写转换

    使用正则表达式进行文本的修改和替换,替换时我们需要使用到捕获组,使用()表示,然后在IDEA中可以获取$n拿到捕获...

  • Perl学习笔记10——正则表达式(下)

    捕获组与反向引用 在正则表达式中,圆括号的一大作用是进行模式分组,而其还有另一个非常重要的作用,即定义捕获组。捕获...

  • 正则表达式的捕获组和非捕获组

    如果使用正则表达式的findall操作,在正则匹配规则中如果使用了捕获组,则并不会返回全组结果,而只是返回捕获组的...

  • 深入分析JMeter正则表达式提取器(二)

    正则表达式提取器中的Match No 当正则表达式的捕获组匹配到多个满足条件的字符串时,会按照捕获的先后顺序依次对...

  • 正则

    前言 《精通正则表达式第三版》笔记,个人认为捕获和环视的概念很有用 1捕获组 每一个 () 内的匹配到的元素都对...

  • 正则表达式之捕获组

    1、概述 1.1什么是捕获组 捕获组就是把正则表达式中子表达式匹配的内容,保存到内存中以数字编号或显式命名的组里,...

  • 正则表达式之捕获组和非捕获组

    捕获组 使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进...

网友评论

      本文标题:正则表达式的捕获组和细节

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