Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单Python正则表达式不匹配_Python_Regex - Fatal编程技术网

简单Python正则表达式不匹配

简单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

非常简单,我试图替换包含子字符串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 = 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
这样做没有任何意义。