简单Python正则表达式不匹配
非常简单,我试图替换包含子字符串XX的字符串简单Python正则表达式不匹配,python,regex,Python,Regex,非常简单,我试图替换包含子字符串XX的字符串 import re def replace_bogus(original, replacement): bogus = re.compile('[.]*[X][X][.]*') if bogus.match(original) != None: original = replacement return original if __name__ == "__main__": teststr = r
import re
def replace_bogus(original, replacement):
bogus = re.compile('[.]*[X][X][.]*')
if bogus.match(original) != None:
original = replacement
return original
if __name__ == "__main__":
teststr = replace_bogus('ABXX0123', '')
print teststr
此代码打印出ABXX0123。
为什么这个正则表达式是错误的,我应该用什么来代替呢?因为点(
)在字符类(即[.]
)中没有特殊意义。正则表达式与文本不匹配,它返回None
如评论中所述,re
模块有自己的替换方法,即sub
方法。您可以这样简单地使用它:
import re
p = re.compile(r'XX')
result = re.sub(p, '', 'ABXX0123')
print result // => AB0123
因为点(
)在字符类(即[.]
)内时没有特殊意义。正则表达式与文本不匹配,它返回None
如评论中所述,re
模块有自己的替换方法,即sub
方法。您可以这样简单地使用它:
import re
p = re.compile(r'XX')
result = re.sub(p, '', 'ABXX0123')
print result // => AB0123
因为点(
)在字符类(即[.]
)内时没有特殊意义。正则表达式与文本不匹配,它返回None
如评论中所述,re
模块有自己的替换方法,即sub
方法。您可以这样简单地使用它:
import re
p = re.compile(r'XX')
result = re.sub(p, '', 'ABXX0123')
print result // => AB0123
因为点(
)在字符类(即[.]
)内时没有特殊意义。正则表达式与文本不匹配,它返回None
如评论中所述,re
模块有自己的替换方法,即sub
方法。您可以这样简单地使用它:
import re
p = re.compile(r'XX')
result = re.sub(p, '', 'ABXX0123')
print result // => AB0123
因为您没有声明要使用regexp。那么:
teststr = 'ABXX0123'
print teststr.replace('XX', '')
因为您没有声明要使用regexp。那么:
teststr = 'ABXX0123'
print teststr.replace('XX', '')
因为您没有声明要使用regexp。那么:
teststr = 'ABXX0123'
print teststr.replace('XX', '')
因为您没有声明要使用regexp。那么:
teststr = 'ABXX0123'
print teststr.replace('XX', '')
re
模块有自己的sub
替换方法。re
模块有自己的sub
替换方法。re
模块有自己的sub
替换方法。re
模块有自己的sub
替换方法。除此之外,我在characters类中添加点是因为它比反斜杠地狱更清晰,但在X
中添加点没有任何意义。此外,我在characters类中添加点是因为它比反斜杠地狱更清晰,但在X
中添加点没有任何意义。除此之外,我在characters类中添加了点,因为它比反斜杠地狱更清晰,但是为X
这样做没有任何意义。此外,我在characters类中添加了点,因为它比反斜杠地狱更清晰,但是为X
这样做没有任何意义。