0

テキストファイルに「Micro(R)Windowsエクスプローラー」という文字列があります。大文字と小文字を区別せずに検索する方法と(R)も正規表現コードを使用して一致します。

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

しかし、この文字列「Micro(R)Windowsエクスプローラー」はエラーの発生を受け入れていません。

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 に答える