[英]How to match string if not a substring of another string?
我正在尋找一種僅當它不是另一個字符串的子字符串時才匹配字符串的方法。
例:
I need to find if text contains string "bbbb" that is not part of a string "aaaabbbbcccc".
正則表達式應匹配字符串:
aaabbbbcccc
aaaabbbbccc
aaabbbbccc
bbbbcccc
aaaabbbb
但不匹配:
aaaabbbbcccc
我嘗試通過環顧四周做到這一點:
(?<!aaaa)bbbb(?!cccc)
但這不起作用。 僅匹配
aaabbbbccc
問題在於,如果您以自己的方式使用它,那么兩個斷言都必須為真。 使用更改使其僅在兩個斷言都失敗時才失敗,而在只有一個斷言時才失敗。
(?<!aaaa)bbbb|bbbb(?!cccc)
我假設您的第三個示例也應該有四個“ b”。
如果您這樣做:
.{0,4}b{4}.{0,4}
然后這個:
a{4}b{4}c{4}
perl -ne 'print if /bbbb/ && $_!~/aaaabbbbcccc/ ' your_input
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.