首頁 >後端開發 >php教程 >如何在不使用 [\\r\\n] 的情況下匹配 PHP 正規表示式中的換行符?

如何在不使用 [\\r\\n] 的情況下匹配 PHP 正規表示式中的換行符?

Barbara Streisand
Barbara Streisand原創
2024-11-03 19:00:04652瀏覽

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

在沒有[rn] 的情況下匹配PHP 正規表示式中的換行符

在PHP 中,正規表示式[rn] 通常用於匹配回車符(r) 或換行符( n)。但是,如果您想在不使用此特定模式的情況下匹配這些字符,該怎麼辦?

Unicode 換行轉義序列:R

PCRE 引入了 R 轉義序列,預設情況下該序列符合 Unicode 換行序列。其中包括:

  • rn (CRLF)
  • n (LF)
  • r (CR)
  • f(換頁)
  • x0b(垂直製表符)
  • x85(下一行)

範例:

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

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

範例:

例如Unicode 換行符帶「u」標誌的轉義序列:

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

要符合ASCII 範圍之外的換行符,請啟用「u」(unicode)標誌:

限制R到CR、LF 或CRLF:

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

如果您只想匹配回車符、換行符或兩者,請使用以下模式:

其他約定對於換行符:

  • PCRE 也支援各種表示換行符的約定:
  • (*CR) - 回車
  • (*LF) -換行
  • (*CRLF) - 回車,後面跟著換行
  • (*ANYCRLF) - 以上三個中的任何一個

(* ANY) - 所有Unicode 換行序列

注意: R 在字元類別中沒有特殊意義,而是充當文字字元「R」。

以上是如何在不使用 [\\r\\n] 的情況下匹配 PHP 正規表示式中的換行符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn