考虑以下正则表达式,其中X和Y是任何正则表达式。
XY|YX|X|Y
此正则表达式测试Xand/or Y,但如果未找到“and”子句,则必须仔细检查表达式。
X 匹配和/或 的最佳方式是什么Y?
正则表达式/XY?|YX?/应该可以匹配您列出的四种情况。然而,这是有限的,如果你使用的正则表达式有一个共同的匹配,你可能会得到意想不到的结果。
信息有限,解决方案有限
如果这是一个问题,也许会向问题添加更多要求。
解释:
前半部分将尝试匹配X正则表达式,然后将尝试匹配Y正则表达式0或1时间。如果X正则表达式失败,那么它将尝试下半部分;它将尝试匹配Y正则表达式然后将尝试匹配X正则表达式0或1时间。
[XY]+获得任意数量的 X 和 Y(包括XYYXYX等)。
或者...
[XY]{1,2}选择 1-2 Xs 和 Ys(仅包括您的 4 个示例)。