Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menggunakan Regex dengan Berkesan dalam JavaScript untuk Pemadanan Berbilang Baris?

Bagaimana untuk Menggunakan Regex dengan Berkesan dalam JavaScript untuk Pemadanan Berbilang Baris?

Mary-Kate Olsen
Lepaskan: 2024-11-03 05:34:02
asal
330 orang telah melayarinya

How to Effectively Use Regex in JavaScript for Multiline Matching?

Menggunakan Regex dalam JavaScript Merentasi Pelbagai Baris

Dalam JavaScript, bendera 'm', yang sepatutnya direka untuk padanan berbilang baris, gagal menangkap kandungan merentas baris baharu. Untuk menyelesaikan masalah ini, penyelesaian yang lebih mantap diperlukan.

Kuncinya ialah menggunakan sama ada '[sS]' atau '[^]' sebagai titik berbilang baris. Corak ini sepadan dengan mana-mana watak, termasuk baris baharu. Pendekatan ini berkesan menangkap kandungan tanpa mengira pengedarannya melalui berbilang baris.

Contoh:

var ss = "<pre class="brush:php;toolbar:false">aaaa\nbbb\nccc
ddd"; var arr = ss.match( /
[\s\S]*?<\/pre>/gm );
console.log(arr); // Outputs: `<pre class="brush:php;toolbar:false">aaaa\nbbb\nccc
`
Salin selepas log masuk

Alternatif Kurang Samar:

Walaupun penyelesaian yang disediakan berkesan, pendekatan yang kurang rumit boleh dicapai dengan menggantikan '[sS]' dengan '.*?'. Pengkuantiti ini memadankan sebarang bilangan aksara (termasuk baris baharu) secara tidak tamak, menghasilkan padanan yang lebih cekap dan disasarkan.

var arr = ss.match( /<pre class="brush:php;toolbar:false">.*?<\/pre>/gm );
console.log(arr); // Outputs: `<pre class="brush:php;toolbar:false">aaaa\nbbb\nccc
`
Salin selepas log masuk

Petua:

  • Elakkan ketamakan yang berlebihan dengan menggunakan pengkuantiti bukan tamak seperti '*?' atau ' ?' bila-bila boleh.
  • Tanda aras menunjukkan bahawa '[^]' menawarkan prestasi unggul berbanding kaedah lain.
  • Walaupun '[^]' ditamatkan, ia kekal sebagai penyelesaian yang berkesan dalam persekitaran yang lebih lama.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Regex dengan Berkesan dalam JavaScript untuk Pemadanan Berbilang Baris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan