3

これは、人々が次のようなものを書いたときに文をサニタイズするために使用する現在の正規表現です。

こんにちは、アンドレスですよね?

次のように自動的に変換されます。

こんにちは。私はアンドレスですよね?

文字列内に数字がある場合に問題が発生します。例:

私は 40.381,32 ドルを持っています。

...次のように変換されます:

私は 40.381,32 ドルを持っています。

私の現在のコード:

echo preg_replace( '/[!?,.](?![!?,.\s])/', '$0 ', 'Hello my friend.There should be a space after sentence periods and commas, but that should not apply to 40.381,32 numbers.');

質問: これらのルールが適用されないようにするにはどうすればよいですか? 文字は数字の間にありますか?ありがとう!

4

1 に答える 1

4

正規表現パターンを使用

(?<!\d)[.,!?](?!\d)

また

(?<!\d)[.,!?](?![.,!?\d])
于 2012-11-19T21:55:07.000 に答える