Bagaimana untuk mengekstrak teks berbilang baris antara teg dalam JavaScript dengan Regex?

Linda Hamilton
Lepaskan: 2024-11-15 19:02:02
asal
139 orang telah melayarinya

How to Extract Multiline Text Between Tags in JavaScript with Regex?

Regex untuk Mengekstrak Teks Berbilang Baris antara Dua Teg dalam JavaScript

Anda menghadapi cabaran dalam mengekstrak teks daripada rentetan HTML menggunakan corak regex . Khususnya, bendera berbilang baris (/m) nampaknya tidak berfungsi apabila terdapat baris baharu dalam HTML.

Untuk menangani isu ini, anda perlu menggunakan pengubah suai "/.../s", biasanya dirujuk sebagai pengubah suai "dotall". Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pengubah suai ini tidak wujud dalam JavaScript vanila.

Penyelesaian tanpa Pengubahsuai Dotall:

Jika anda tidak boleh menggunakan bendera /s dalam persekitaran JavaScript semasa anda, pertimbangkan penyelesaian menggunakan kelas aksara yang merangkumi kedua-dua aksara ruang putih dan bukan ruang putih:

[\s\S]
Salin selepas log masuk

Dalam kes anda, regex akan kelihatan seperti ini:

/<div>
Salin selepas log masuk
Salin selepas log masuk

JavaScript Moden: Sokongan Pengubah Suai Dotall

Dalam persekitaran JavaScript moden yang menyokong ES2018, anda boleh terus menggunakan bendera "/s" (dotAll). Bendera ini menjadikan aksara titik (.) dalam regex sepadan dengan aksara baris baharu juga.

Oleh itu, regex asal anda boleh ditulis semula menggunakan bendera /s:

/<div>
Salin selepas log masuk
Salin selepas log masuk

Dengan menggunakan pengubah suai dotall (/s) atau penyelesaiannya ([sS]), anda boleh memastikan corak regex anda berjaya memadankan teks berbilang baris antara teg HTML yang ditentukan, walaupun terdapat baris baharu dalam teks tersebut.

Atas ialah kandungan terperinci Bagaimana untuk mengekstrak teks berbilang baris antara teg dalam JavaScript dengan Regex?. 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