正则表达式中的或与

Posted 立中宵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式中的或与相关的知识,希望对你有一定的参考价值。

默认的多选分支『(…|…)』使用的括号是会捕获文本的,也就是说,括号内的表达式真正匹配成功的文本会记录下来,匹配完成之后可以提取出来,具体到上面的例子,就是我们有办法在匹配完成后“提取”出u或har或onduc或our。但许多时候,我们需要的只是整个表达式的匹配,而不关心“匹配时到底选择的哪种可能情况”,在这种情况下,我们稍加修改,使用“不捕获文本的括号”,可以提高效率。不捕获文本的写法也很简单,只是在开扩号之后加上字符『?:』,也就是『(?:…|…)』,具体到上面的例子,就应该写成『c(?:u|har|onduc|our)t』。这样做虽然繁琐点,但效率有保障,阅读起来也不困难,我推荐养成这种习惯,只要用到了括号,就想想是否真的要捕获括号内表达式匹配的文本,如果不需要,就是用不捕获文本的括号。

以上是关于正则表达式中的或与的主要内容,如果未能解决你的问题,请参考以下文章

javascript正则表达式

Java正则表达式

正则表达式替换除大小写“0”之外的所有花括号

JAVASCRIPT match()

正则表达式没有想象中的那么难

正则表达式在js中的用法