考虑以下正则表达式,其中X和Y是任何正则表达式.
XY|YX|X|Y
Run Code Online (Sandbox Code Playgroud)
这个正则表达式测试X和/或Y,但如果找不到"和"子句,则必须仔细检查表达式.
匹配X 和/或 Y?的最佳方式是什么?
正则表达式/XY?|YX?/应该能够匹配您列出的四种情况。但这是有限的,如果您使用的正则表达式有共同的匹配项,您可能会得到意想不到的结果。
信息有限,解决方案也有限
如果这是一个问题,也许可以对问题添加更多要求。
解释:
前半部分将尝试匹配正X则表达式,然后将尝试匹配正则Y表达式0或1时间。如果正则X表达式失败,那么它将尝试后半部分;它将尝试匹配正Y则表达式,然后将尝试匹配正则X表达式0或1时间。