3

このスレッドは非常に似ていますが、空白ではなく文字を削除したくありません。たとえば、文字列から新しい行 (0x10 または 0x13 文字) を削除しようとしていますが、' ' または " " の周りに何かがある場合は、そのままにしておく必要があります。私はphpを使用しています。

4

1 に答える 1

3

次の式を置き換えることで、これを行うことができます。

("[^"]*"|'[^']*')|[\r\n]+

最初のキャプチャグループのコンテンツ:$1

これは、引用をキャプチャしてそれ自体に置き換えるか、削除するものを一致させて空の文字列に置き換えることで機能します。

バックスラッシュエスケープも処理する場合は、同じ置換で代わりに次の式を使用できます。

("(?:[^"\\]+|\\.)*"|'(?:[^'\\]+|\\.)*')|[\r\n]+
于 2012-06-05T12:26:39.153 に答える