我的问题与这个问题非常相似,只是我想让每个交替都是可选的,并且不重复。
示例:正则表达式需要匹配以下字符串(这过于简单,A 和 B 可能很复杂):
XAB
XBA
XA
XB
X
它不能匹配 XAA、XBB、XABA、XABB、XBAA
这是我到目前为止所拥有的:
/(X)(?:(A)|(B)){0,2}$/
这允许重复(例如 XAA),并且似乎会导致 PHP 中的 XB 出现空数组元素的问题。
编辑:忘了提到我需要获取 X、A 和 B 的实际值(如果可用)。这不仅仅是完整字符串的匹配。