Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membuat Titik (.) Memadankan Garis Baharu dalam Ungkapan Biasa?

Bagaimana untuk Membuat Titik (.) Memadankan Garis Baharu dalam Ungkapan Biasa?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-31 13:10:02407semak imbas

How to Make the Dot (.) Match Newlines in Regular Expressions?

Menggunakan Ungkapan Biasa untuk Menjadikan Titik Padanan Aksara Baris Baharu

Dalam ungkapan biasa, titik (.) boleh memadankan mana-mana aksara kecuali baris baharu. Walau bagaimanapun, kadangkala anda mungkin mahu memadankan baris baharu juga.

Untuk mencapai ini, anda boleh menggunakan pengubah suai DOTALL (/s). Ia menjadikan titik itu sepadan dengan semua aksara, termasuk baris baharu.

Sebagai contoh, ungkapan biasa berikut tidak akan sepadan dengan baris baharu:

/<div>(.*)</div>/

Untuk menjadikannya sepadan dengan baris baharu, tambahkan pengubah suai DOTALL:

/<div>(.*)</div>/s

Walau bagaimanapun, ini mungkin tidak sesuai jika anda mahukan perlawanan yang tidak tamak. Sebaliknya, anda boleh menggunakan padanan yang tidak tamak:

/<div>(.*?)</div>/s

Sebagai alternatif, jika tiada teg lain, anda boleh memadankan semua kecuali '<' aksara:

/<div>([^<]*)</div>/

Perlu juga ambil perhatian bahawa anda tidak semestinya perlu menggunakan '/' sebagai pembatas untuk ungkapan biasa. Menggunakan aksara yang berbeza membolehkan anda mengelak daripada melepaskan garis miring dalam

, meningkatkan kebolehbacaan. Sebagai contoh, berikut ialah cara ungkapan biasa sebelumnya akan kelihatan menggunakan '#' sebagai pembatas:

#<div>([^<]*)</div>#

Walau bagaimanapun, adalah penting untuk mengetahui bahawa penyelesaian ini mungkin gagal dengan kehadiran div bersarang, ruang kosong tambahan, Komen HTML dan kerumitan lain. HTML agak rumit, jadi selalunya lebih sesuai untuk menggunakan penghurai HTML untuk tugasan sedemikian.

Atas ialah kandungan terperinci Bagaimana untuk Membuat Titik (.) Memadankan Garis Baharu dalam Ungkapan Biasa?. 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