Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Memadankan Aksara Baris Baru dalam PHP Regex Tanpa Menggunakan [\\r\\n]?

Bagaimanakah Saya Boleh Memadankan Aksara Baris Baru dalam PHP Regex Tanpa Menggunakan [\\r\\n]?

Barbara Streisand
Barbara Streisandasal
2024-11-03 19:00:04695semak imbas

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

Memadankan Aksara Baris Baharu dalam PHP Regex tanpa [rn]

Dalam PHP, ungkapan biasa [rn] biasanya digunakan untuk memadankan carriage returns (r) atau linefeeds ( n). Walau bagaimanapun, bagaimana jika anda ingin memadankan aksara ini tanpa menggunakan corak khusus ini?

Unicode Newline Escape Sequence: R

PCRE memperkenalkan urutan R escape, yang secara lalai sepadan dengan urutan baris baharu Unicode. Ini termasuk:

  • rn (CRLF)
  • n (LF)
  • r (CR)
  • f (Suapan borang)
  • x0b (tab Menegak)
  • x85 (Barisan seterusnya)

Contoh:

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

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

Baris Baharu Unikod Urutan Melarikan Diri dengan Bendera 'u':

Untuk memadankan aksara baris baharu di luar julat ASCII, dayakan bendera 'u' (unikod):

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

Menghadkan R kepada CR, LF atau CRLF:

Jika anda hanya mahu memadankan pemulangan pengangkutan, suapan talian atau kedua-duanya, gunakan corak berikut:

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

Konvensyen Tambahan untuk Watak Baris Baharu:

PCRE juga menyokong pelbagai konvensyen untuk menunjukkan aksara baris baharu:

  • (*CR) - Pulangan pengangkutan
  • (*LF) - Linefeed
  • (*CRLF) - Carriage return, diikuti dengan linefeed
  • (*ANYCRLF) - Mana-mana daripada tiga di atas
  • (*ANY) - Semua Unicode baris baharu

Nota: R tidak mempunyai makna istimewa di dalam kelas aksara dan sebaliknya bertindak sebagai aksara literal "R."

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memadankan Aksara Baris Baru dalam PHP Regex Tanpa Menggunakan [\\r\\n]?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn