1

標準の入力でパターンを探し、再フォーマットした後に出力する小さなPythonスクリプトがあります。例から複雑なパターンと再フォーマットコードを削除しました。現在、私のコードは次のようになっています。

for line in re.finditer(r"""(.*)\n""", sys.stdin.read(), re.MULTILINE):
    print(line.group(0))

「sys.stdin.read()」に注意してください。これにより、スクリプトはパターンを探す前に入力全体をバッファリングします。

stdinをバッファとしてfinditerに渡すにはどうすればよいですか?stdinは、最初にバッファリングされるのではなく、スクリプトに入力されたときに検索されますか?

4

1 に答える 1

1

どうやら私は質問をする前にこれを逃したようです、それはすでに答えられています。

Python正規表現解析ストリーム

残念ながら、これはPythonでの正規表現の実装に関する問題です。考えられる回避策については、リンクを参照してください。

于 2012-12-26T08:55:47.623 に答える