python正则表达式没有检测方括号

时间:2015-07-04 21:37:43

标签: python regex

我有一个场景,我想从给定内容中移除除空格之外的所有特殊字符,我正在使用Python并且我正在使用此正则表达式

re.sub(r"[^a-zA-z0-9 ]+","",content)

它删除了所有特殊字符,但没有删除方括号[ ]而我只是不知道为什么会发生这种情况?

之后我才使用这个正则表达式

content = re.sub(r"[^a-zA-z0-9 ]+|\[|\]","",content)

它在IDLE IDE中完美运行并删除了所有类型的特殊字符但是当我想要替换像维基百科页面这样的大文件时,它现在却没有删除关闭的方括号]我只是为什么{{1}做这种奇怪的行为和

1 个答案:

答案 0 :(得分:10)

你有一个小写z,它应该是upppercase。变化:

re.sub(r"[^a-zA-z0-9 ]+","",content)

为:

re.sub(r"[^a-zA-Z0-9 ]+","",content)

对于记录,范围'A-z'已扩展为字符A...Z[\]^,{{ 1}},_``;这就是为什么你的正则表达式除了那些字符之外的所有内容。

ASCII表:

enter image description here