可选组表达式
今天我在工作中使用正则表达式,在一些实验期间,我注意到编译了一个正则表达式,如(w|)
。这似乎是可选的组,但联机查找没有任何结果。
让一个组匹配某些内容,但在其他方面可以匹配任何内容,这有什么实际用途吗?这与(w|.*)
有什么不同?谢谢。
解决方案
(w|)
是一种冗长的编写w?
的方式,它首先检查w
,然后检查空字符串。
我删除了捕获组,因为()
似乎只用于分组属性。如果您确实需要采集组,则(w?)
。
同理,(|w)
是一种冗长的编写w??
的方式,它先尝试空字符串,然后再尝试w
。
(w|.*)
是完全不同的正则表达式。它尝试匹配(按该顺序)一个单词字符w
、或0个或多个任意字符(行终止符除外).*
。
不过,我无法想象这个正则表达式片段会有什么用处。
相关文章