正则表达式不返回任

时间:2014-04-01 17:16:40

标签: python regex

我写了以下正则表达式来返回everything except alphabets & letters。但是这个正则表达式不返回任何内容。这种情况的正则表达式可以是什么?

正则表达式:

r'[^[a-z]+]'

此致

2 个答案:

答案 0 :(得分:2)

你正在搞乱角色类[]。这是正确的(没有大写):

r'[^a-z]+'

如果你想匹配字符串的开头和结尾,包括大写字母。

r'^[^a-zA-Z]+$'

以下是您可以使用它的方法:

print re.findall(r'([^a-zA-Z]+)', input_string)

()表示捕获组,以便在执行匹配后返回。

答案 1 :(得分:2)

这就是正则表达式引擎看到的正则表达式

 [^[a-z]+          # Not any of these characters  '[', nor a-z
 ]                 # literal ']'

所以,正如@Sajuj所说,只需删除外方括号[^a-z]+