Hyは働いていない、私はここで正規表現のpythonで3正規表現Pythonが正しく
を問題を持っている私のコードです:
# Here is regex 1, have to find tk_common on file tmp/out-file.txt
regex1 = re.compile(r'tk_common')
with open("tmp/out-file.txt") as f:
for line in f:
result = regex1.search(line)
# If found :
if regex1.search is not None:
print("I find tk_common in out-file")
# else :
else:
print("I didn't find tk_common in out-file")
# And here is the second one
regex2 = re.compile(r'tk_text')
with open("tmp/out-file.txt") as f:
for line in f:
result = regex2.search(line)
if regex2.search is not None:
print("I find tk_text in out-file")
else:
print("I didn't fint tk_text in out-file")
私の問題:
私は2枚のプリントを持っています私のプログラムを起動するとメッセージの成功:
I find tk_common in out-file
I find tk_text in out-file
しかし、実際に、それはいけない:
$ cat tmp/out-file.txt | grep "tk_common\|tk_text"
<div class="tk_common">
任意のアイデア? re.compile().search
が最も確実None
関数ではなく、かつので おかげで、
regex1.searchとregex2.searchは( 'NONE'ではありません)関数です。あなたは結果である 'result'を探しています。あなたのコードに加えて、最後の行だけをチェックします。なぜなら、エリートラインに行き、各行をチェックした後に結果を調べるからです。 – syntonym