簡體   English   中英

Python正則表達式搜索NOT和AND表達式

[英]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.

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