ホームページ >バックエンド開発 >PHPチュートリアル >[\\r\\n] を使用せずに PHP 正規表現で改行文字を照合するにはどうすればよいですか?

[\\r\\n] を使用せずに PHP 正規表現で改行文字を照合するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-03 19:00:04653ブラウズ

How Can I Match Newline Characters in PHP Regex Without Using [\r\n]?

[rn] を使用しない PHP 正規表現での改行文字の一致

PHP では、キャリッジ リターン (r) またはラインフィード ( n)。ただし、この特定のパターンを使用せずにこれらの文字を照合したい場合はどうすればよいでしょうか?

Unicode 改行エスケープ シーケンス: R

PCRE では、デフォルトで R エスケープ シーケンスが導入されています。 Unicode の改行シーケンスと一致します。これらには次のものが含まれます:

  • rn (CRLF)
  • n (LF)
  • r (CR)
  • f (フォーム フィード)
  • x0b (垂直タブ)
  • x85 (次へ) line)

例:

<code class="php">$string = "
Test
";

if (preg_match('~\R~', $string)) {
  echo "Matched";
} else {
  echo "Not Matched";
}</code>

「u」フラグ付きの Unicode 改行エスケープ シーケンス:

ASCII 範囲外の改行文字と一致するには、「u」(Unicode)を有効にします。 flag:

<code class="php">preg_match('~\R~u', $string);</code>

R を CR、LF、または CRLF に制限する:

キャリッジ リターン、ラインフィード、またはその両方のみを一致させたい場合は、次のコマンドを使用します。パターン:

<code class="php">preg_match('~(*BSR_ANYCRLF)\R~', $string);</code>

改行の追加規則文字:

PCRE は、改行文字を示すためのさまざまな規則もサポートしています。

  • (*CR) - キャリッジ リターン
  • (*LF) - ラインフィード
  • (*CRLF) - 復帰、その後に続くlinefeed
  • (*ANYCRLF) - 上記 3 つのいずれか
  • (*ANY) - すべての Unicode 改行シーケンス

注: R文字クラス内では特別な意味を持たず、代わりにリテラル文字「R」として機能します。

以上が[\\r\\n] を使用せずに PHP 正規表現で改行文字を照合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。