Php 可选组表达式

Php 可选组表达式,php,regex,preg-replace,Php,Regex,Preg Replace,今天我在工作中使用正则表达式,在一些实验中,我注意到一个正则表达式,如(\w|)已编译。这似乎是一个可选的群体,但在网上搜索并没有产生任何结果 拥有一个匹配某个对象但在其他方面可以匹配任何对象的组有什么实际用途吗?这和(\w|.*)有什么区别?谢谢。(\w |)是一种冗长的书写\w?的方法,它首先检查\w,然后检查空字符串 我删除了捕获组,因为似乎()仅用于对属性进行分组。如果您确实需要捕获组,则(\w?) 同样地,(|\w)是一种冗长的编写\w???的方法,它先尝试空字符串,然后再尝试\w

今天我在工作中使用正则表达式,在一些实验中,我注意到一个正则表达式,如
(\w|)
已编译。这似乎是一个可选的群体,但在网上搜索并没有产生任何结果

拥有一个匹配某个对象但在其他方面可以匹配任何对象的组有什么实际用途吗?这和
(\w|.*)
有什么区别?谢谢。

(\w |)
是一种冗长的书写
\w?
的方法,它首先检查
\w
,然后检查空字符串

我删除了捕获组,因为似乎
()
仅用于对属性进行分组。如果您确实需要捕获组,则
(\w?)

同样地,
(|\w)
是一种冗长的编写
\w???
的方法,它先尝试空字符串,然后再尝试
\w


(\w |.*)
是一个完全不同的正则表达式。它尝试(按该顺序)匹配一个单词字符
\w
或任何字符中的0个或多个字符(行终止符除外)
*


但是,我无法想象这个正则表达式片段会有多大用处。

任何内容都不匹配字符串的任何零长度子字符串,该子字符串位于任意两个字符之间或第一个字符之前和最后一个字符之后的位置。作为像
/()/g
这样的捕获组,您将得到空字符串作为结果。