python正则表达式模式检查字符串是否包含除指定之外的任何字符

时间:2014-12-01 09:49:16

标签: python regex

正如标题所说 - 如果指定的字符串包含True'a''b'以外的任何字符,我需要返回'c'。 我试过了

 r'[^(abc)]' 

但它对我不起作用。我无法弄清楚如何否定模式。

2 个答案:

答案 0 :(得分:0)

^[^abc]+$

试试这个。如果没有True,则返回字符串a or b or c。 使用re.match()

答案 1 :(得分:0)

使用如下所示的否定先行断言。

>>> st = "foo"
>>> if re.match(r'^(?!.*[abc])', st):
        print('True')
    else:
        print('false')


True
仅当字符串包含^(?!.*[abc])abc

之外的任何字符串时,

{{1}}才会强制正则表达式引擎匹配字符串的开头