0

我在文本文件中有一个名为“Micro(R) Windows explorer”的字符串 如何搜索不区分大小写和 (R) 也匹配使用正则表达式代码是

with open(logfile) as inf:
            for line in inf:
                if re.search(string,line,re.IGNORECASE):
                    print 'found line',line

但是这个字符串“Micro(R) Windows explorer”不接受给出错误。

4

2 回答 2

1

对于不区分大小写的搜索,请使用该选项启动您的正则表达式(?i)或编译它。re.I

要匹配(R),请使用正则表达式\(R\)。否则,括号将被解释为正则表达式元字符(表示捕获组),并且只有字符串"MicroR Windows Explorer"会被它匹配。

一起:

with open(logfile) as inf:
    regex = re.compile(r"Micro\(R\) Windows Explorer", re.I)
    for line in inf:
        if regex.search(line):
             print 'found line',line
于 2012-08-08T14:54:20.487 回答
1

没有正则表达式:

with open('C:/path/to/file.txt','r') as f:
    for line in f:
        if 'micro(r) windows explorer' in line.lower():
            print(line)
于 2012-08-08T14:55:27.370 回答