[英]Python Regex to search for NOT and AND expression
這里有很多很棒的正則表達式答案,但是我找不到適合我的東西。 情況如下:
我有很多數字。 假設這只是一個從1到100的數字的列表,而我只想使用包含10、20和50的列表。但是代碼的構建方式(並且不能更改!)被忽略正則表達式不接受。 因此,我不能只說^10$|^20$|^50$
而是我需要先不對它們進行AND操作。
我已經試過了:
(?!^10$)(?!^20$)(?!^50$)
運氣不好,似乎找不到任何可行的方法。
有什么想法嗎? 非常感謝!
ps我只是做了這個特定的例子來說明我在做什么,我不會使用正則表達式,因為這是我遇到的實際問題。...:-)
如果我正確理解了您的問題,那么您需要的是以下內容:
(?!^10$)(?!^20$)(?!^50$)^.*$
當行的內容不同於"10"
, "20"
或"50"
時,此匹配。
但是,這似乎是解決您的問題的相當繁瑣的方法。 在這方面做更多的事情會更好嗎?
import re
pattern = re.compile(r"^(?:10|20|50)$")
for text in list_of_texts:
m = pattern.match(text)
if m is not None:
print "Found something interesting (not 10, nor 20 nor 50): %s" % text
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.