Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menangkap Teks Berbilang Baris dalam JavaScript dengan Ungkapan Biasa?

Bagaimana untuk Menangkap Teks Berbilang Baris dalam JavaScript dengan Ungkapan Biasa?

Linda Hamilton
Linda Hamiltonasal
2024-11-01 11:00:02603semak imbas

How to Capture Multiline Text in JavaScript with Regular Expressions?

Penalaan Halus Padanan Regeks Berbilang Baris dalam JavaScript

Apabila cuba memadankan teks berbilang baris menggunakan ungkapan biasa dalam JavaScript, lalai tingkah laku tidak termasuk aksara baris baharu, menjadikannya mencabar untuk menangkap blok yang merangkumi berbilang baris. Ini boleh mengecewakan, terutamanya apabila bendera 'm' (padanan berbilang baris) tidak menyelesaikan isu tersebut.

Penyelesaian terletak pada menggunakan kelas aksara [sS] dalam regex. Ini sepadan dengan semua aksara, termasuk aksara baris baharu, membolehkan anda menangkap teks yang merentangi berbilang baris dengan tepat.

Pecahan Kod:

<code class="javascript">var ss = "<pre class="brush:php;toolbar:false">aaaa\nbbb\nccc
ddd"; var arr = ss.match(//gm); alert(arr); // "<pre class="brush:php;toolbar:false">.... :)"

Inti Utama kepada Pertimbangkan:

  • Elakkan menggunakan (.|[rn]) sebagai pengganti . dalam padanan berbilang baris.
  • Gunakan [sS] bukannya . untuk pemadanan yang lebih cekap dan tepat.
  • Lakukan kekangan dalam menggunakan贪婪量词(如或 ),考虑使用?或 ?以提升性能>
  • Ingat, dengan memanfaatkan kelas aksara [sS] dan mengamalkan pembinaan regex yang penuh perhatian, anda boleh menangkap teks yang merangkumi berbilang baris dalam JavaScript dengan berkesan.

Atas ialah kandungan terperinci Bagaimana untuk Menangkap Teks Berbilang Baris dalam JavaScript dengan 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