小文字のn
を改行で置き換えることができる正規表現が必要ですが、その後に数字の0-9
または大文字が続く場合のみです。私はPHPでこのデータをサニタイズしようとしているので、結果の式に互換性であることが必要
Company Building
文字の後ろに数字または大文字を一致させる正規表現が必要
100 Prospect Way
:
Company Buildingn100 Prospect Way
に変換する必要があります。たとえば、文字列が
。
小文字のn
を改行で置き換えることができる正規表現が必要ですが、その後に数字の0-9
または大文字が続く場合のみです。私はPHPでこのデータをサニタイズしようとしているので、結果の式に互換性であることが必要
Company Building
文字の後ろに数字または大文字を一致させる正規表現が必要
100 Prospect Way
:
Company Buildingn100 Prospect Way
に変換する必要があります。たとえば、文字列が
。
これを試してみてください:PHPで
n(?=[\dA-Z])
$str = preg_replace("/n(?=[\dA-Z])/", "\n", $str);
(?=...)
が肯定先読みである - それは我々が一致n
後に何があるかチェックしますが、それと一致していないので、次の文字は置換されません。
$result = preg_replace("/n(?=[\dA-Z])/", "\n", $subject);
大文字の場合はASCII文字を使用します。
$result = preg_replace("/n(?=[\d\p{Lu}])/u", "\n", $subject);
ユニコードを使用している場合。
「\ n」の二重引用符? – BoltClock
@BoltClock:RegexBuddyはこのコードスニペットを生成しました(私はPHPを知らない)。一重引用符で何が間違っているかを精緻化できますか? –
PHPは一重引用符で囲んだエスケープ文字を認識しません。二重引用符で囲んでください:http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.single。サンプルコード:http://ideone.com/8Pfhy( '\\ n'を表示し、新しい行は' \ n "'と表示するように注意してください)。ちなみに、私はPHPの正規表現のためのこの便利なサイトを見つけました:http://www.pagecolumn.com/tool/pregtest.htm(私はPHPも知らないが、 ': ) – Kobi