今天我在工作中使用正则表达式,在一些实验中,我注意到编译了(\w|)
这样的正则表达式。这似乎是一个可选组,但在线查看并没有产生任何结果。
是否有任何实际使用的组合匹配的东西,但否则可以匹配任何东西?它和(\w|.*)
之间有什么区别?感谢。
答案 0 :(得分:2)
(\w|)
是一种编写\w?
的详细方式,首先检查\w
,然后检查空字符串。
我删除了捕获组,因为似乎()
仅用于分组属性。如果您确实需要捕获组,则(\w?)
。
同样,(|\w)
是一种冗长的编写\w??
的方式,在尝试\w
之前先尝试空字符串。
(\w|.*)
完全是一个不同的正则表达式。它会尝试匹配(按此顺序)一个字符\w
,或 0或更多任何字符(行终止符除外).*
。
我无法想象这个正则表达式片段如何有用。