簡體   English   中英

正則表達式:允許包含“foo”的字符串,但如果相同的字符串也包含“bar”則不允許

[英]Regex: Allow a string that contains “foo” but not if that same string also contains “bar”

我的輸入是一個文件名,一些例子:

/some/file/path/thefooisgood.txt
/some/file/path/thisfooisalsogood.txt
/some/file/path/thisfooalsohasbar.txt

我想查找/允許包含子字符串foo所有文件名/路徑,只要該字符串中沒有子字符串bar

子串bar可能出現在文件路徑中的任何位置,並不總是在foo之后出現,有時可能在路徑名中,而不僅僅是文件名。 同樣適用於foo 我似乎無法做對。

您可以使用基於正面的負面前瞻,如下所示:

^(?!.*bar).*foo

RegEx演示

細節:

  • (?!.*bar) :斷言我們在輸入中沒有任何bar
  • .*foo :在輸入的任何地方匹配foo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM