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