簡體   English   中英

正則表達式-多個“不包含” /“包含”

[英]Regex - more than one “does not contain”/“contains”

我需要一些“包含”和“不包含”的正則表達式。 通常我會寫:

包含: ((。* WORD_A。*))$並且不包含: (^((?! WORD_A)。)*)$

如果單獨使用,效果很好,但是我想寫一些可以檢測到某物的東西。 例如“包含單詞A和單詞B”(順序不相關!)和“包含單詞A,但不包含單詞B)。

基本上,我希望用戶可以這樣聲明:“以單詞A開頭,包含單詞B,但不包含C和/或以D結尾”,並且程序返回true / false。 最好的辦法是僅附加正則表達式。 這可能嗎? 我不知道。

對於您的示例,我將使用如下先行斷言

^WORD_A(?=.*WORD_B)(?!.*WORD_C).*WORD_D$

您隨時可以根據需要添加更多條件(只需添加另一個前瞻)。 例如,如果要匹配包含WORD_A和WORD_B且不包含WORD_C或WORD_D的任何字符串:

^(?=.*WORD_A)(?=.*WORD_B)(?!.*WORD_C)(?!.*WORD_D)

暫無
暫無

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

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