62

私のプログラムは、\ n、\ r \ n、または\ rの改行文字を含むデータを受け入れることができます(たとえば、Unix、PC、またはMacスタイル)

エンコーディングが何であれ一致する正規表現を構築するための最良の方法は何ですか?

または、入力にuniversal_newlineサポートを使用することもできますが、正規表現がどうなるかを確認したいと思います。

4

2 に答える 2

96

正確にしたいときに使用する正規表現はです"\r\n?|\n"

一貫性や空の行を気にしないときは、を使用します"[\r\n]+"。これにより、プログラムが0.2%程度高速になると思います。

于 2009-08-26T01:02:00.580 に答える
10

\r?\nおそらく古いMacスタイルを扱う必要がないので、パターンを単純化してパフォーマンスを少し向上させることができます(OS 9は2002年2月以降サポートされていません)。

于 2016-08-18T15:40:44.077 に答える