Pythonでgrep -vと同じものは何ですか?

Pythonでgrep -vと同じものは何ですか?

わかりましたgrep -v。いつも使っています。しかし、私はPythonでいくつかのテキスト処理も行っていますが、重要なものを見逃しています。

grep -v通常私はテキストから無関係な内容を切り取る習慣を持っています。

例えば、

$ grep -v '[a-z]'
# (I manually review this output to confirm that I don't want those lines)

$ grep '[a-z]' > linesiwanted

しかし、Pythonで正規表現の補数をどのように一致させるのですか?たとえば、\w? の補数です。

ベストアンサー1

Pythonの正規表現は、searchorメソッドに関係なくorオブジェクトmatchを返します。これに対応する場合は、次のものを使用できます。MatchNonegrep -v

import re
for line in sys.stdin:
    if re.search(r'[a-z]', line) is None:
        sys.stdout.write(line)

またはもっと簡潔に言えば:

import re; sys.stdout.writelines([line for line in sys.stdin if re.search(r'[a-z]', line) is None])

おすすめ記事