[英]Regex to match 1 or less occurrence of string?
假設我想要一個正則表達式來匹配“跳過這座橋 FOOL”和“跳過這座橋”。 如何使“FOOL”可選(0 或 1 次)?
您可以使用?
標記以將組的出現指定為可選(出現 0 或 1 次),或者您也可以使用花括號將最小值/最大值設為 0 和 1,因此答案是:
Jump over this bridge( FOOL)?
要么
Jump over this bridge( FOOL){0,1}
正則表達式的可選部分用問號表示:
Jump over this bridge( FOOL)?
如果您想匹配包含FOOL
少於兩次的任何字符串,事情會變得有點復雜。 那么你最好使用更高級的負前瞻概念:
^(?!(.*FOOL){2})
這將邏輯顛倒過來,並斷言該字符串不包含 2 個(或更多) FOOL
實例。
嘗試這樣做:
Jump over this bridge( FOOL)?
您也可以放置一組字符串:
Jump over this bridge( FOOL| FOOB)?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.