Mar*_*der 17
正则表达式的可选部分用问号表示:
Jump over this bridge( FOOL)?
Run Code Online (Sandbox Code Playgroud)
如果你想匹配任何包含FOOL少于两次的字符串,事情会变得复杂一些.那么你最好使用更先进的负向前瞻概念:
^(?!(.*FOOL){2})
Run Code Online (Sandbox Code Playgroud)
这会转动逻辑并断言该字符串不包含2个(或更多)实例FOOL.
小智 15
您可以使用?标记将组的出现指定为可选(发生0或1次),或者您也可以使用大写/最大值为0和1的花括号,因此答案是:
Jump over this bridge( FOOL)?
Run Code Online (Sandbox Code Playgroud)
要么
Jump over this bridge( FOOL){0,1}
Run Code Online (Sandbox Code Playgroud)