簡體   English   中英

查找不在正則表達式模式中的所有字符

[英]find all characters NOT in regex pattern

假設我有一個合法字符的正則表達式

legals = re.compile("[abc]")

我可以像這樣的字符串中返回合法字符列表:

finder = re.finditer(legals, "abcdefg")
[match.group() for match in finder]
>>>['a', 'b', 'c']

如何使用正則表達式查找不在正則表達式中的字符列表? IE瀏覽器會返回

['d','e','f','g']

編輯:澄清一下,我希望找到一種無需修改正則表達式本身的方法。

否定角色類別:

>>> illegals = re.compile("[^abc]")
>>> finder = re.finditer(illegals, "abcdefg")
>>> [match.group() for match in finder]
['d', 'e', 'f', 'g']

如果您無法做到這一點(並且您只處理一個字符的長度匹配),則可以

>>> legals = re.compile("[abc]")
>>> remains = legals.sub("", "abcdefg")
>>> [char for char in remains]
['d', 'e', 'f', 'g']

暫無
暫無

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

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