假设我想要一个正则表达式来匹配“Jump over this bridge FOOL”以及“Jump over this bridge”。如何使“FOOL”成为可选(0 或 1 次出现)?
问问题
44406 次
3 回答
20
您可以使用?
标记将组的出现指定为可选(出现 0 或 1 次),也可以使用带有最小值/最大值为 0 和 1 的花括号,因此答案是:
Jump over this bridge( FOOL)?
或者
Jump over this bridge( FOOL){0,1}
于 2016-05-05T22:59:25.660 回答
19
正则表达式的可选部分用问号表示:
Jump over this bridge( FOOL)?
如果您想匹配包含少于两次的任何字符串,事情会变得有点复杂。FOOL
那么你最好使用更高级的负前瞻概念:
^(?!(.*FOOL){2})
这改变了逻辑并断言字符串不包含 2 个(或更多)实例FOOL
。
于 2012-11-13T01:10:12.653 回答
2
尝试这样做:
Jump over this bridge( FOOL)?
您也可以放置一组字符串:
Jump over this bridge( FOOL| FOOB)?
于 2012-11-13T01:10:05.653 回答