5

考虑以下正则表达式,其中XY任何正则表达式。

XY|YX|X|Y

此正则表达式测试Xand/or Y,但如果未找到“and”子句,则必须仔细检查表达式。

X 匹配和/或 的最佳方式是什么Y

4

3 回答 3

2

正则表达式/XY?|YX?/应该可以匹配您列出的四种情况。然而,这是有限的,如果你使用的正则表达式有一个共同的匹配,你可能会得到意想不到的结果。

信息有限,解决方案有限

如果这是一个问题,也许会向问题添加更多要求。

解释:

前半部分将尝试匹配X正则表达式,然后将尝试匹配Y正则表达式01时间。如果X正则表达式失败,那么它将尝试下半部分;它将尝试匹配Y正则表达式然后将尝试匹配X正则表达式01时间。

于 2013-06-19T06:00:44.070 回答
1

[XY]+获得任意数量的 X 和 Y(包括XYYXYX等)。

或者...

[XY]{1,2}选择 1-2 Xs 和 Ys(仅包括您的 4 个示例)。

于 2013-06-19T05:52:57.687 回答
0

对于您X and/or Y对此正则表达式的要求:

(?:(?=.*?X)|(?=.*?Y))(X|Y)

现场演示:http ://www.rubular.com/r/K36HjXzHLF

于 2013-06-19T05:53:40.720 回答