<分区> 分区>
在翻译测试应用程序(Python 中)中,我想要一个接受这两个字符串之一的正则表达式:
a = "I want the red book"
b = "the book which I want is red"
到目前为止,我正在使用这样的东西:
^(the book which )*I want (is |the )red (book)*$
这将接受字符串 a 和字符串 b。但它也将接受不包含两个可选子字符串的 either 的字符串:
sub1 = (the book which )
sub2 = (book)
我如何指示这两个子字符串之一必须存在,即使它们不相邻?
我意识到在这个例子中,通过测试用“or”| 分隔的更长的备选方案,可以很容易地避免这个问题。这是一个问题的简化示例,我正在处理的实际用户输入很难避免该问题。
