Skip to main content
 首页 » 编程设计

python之在 Python 正则表达式中匹配插入符号的问题

2024年09月03日28lhb25

我有以下正则表达式,我认为它应该匹配任何不是字母数字的字符,'!'、'?' 或 '.'

re.compile('[^A-z ?!.]') 

但是,我在 iPython 中得到以下奇怪的结果:

In [21]: re.sub(a, ' ', 'Hey !$%^&*.#$%^&.') 
Out[21]: 'Hey !  ^  .   ^ .' 

当我转义“.”时,结果是一样的在正则表达式中。

如何匹配插入符号以便它也从字符串中删除?

请您参考如下方法:

您的正则表达式有误。请注意,a 和 z 的大小写很重要。 A-z 包括 ASCII 值 65 (A) 和 122 (Z) 之间的所有字符,其中包括脱字符(ASCII 代码 94)。

试试这个:

re.compile('[^A-Za-z ?!.]') 

例子:

import re 
regex = re.compile('[^A-Za-z ?!.]') 
result = regex.sub(' ', 'Hey !$%^&*.#$%^&.') 
print result 

结果:

Hey !     .     .