Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Memadankan Teks Berbilang Baris Dengan Berkesan Menggunakan Ungkapan Biasa dalam Java?

Bagaimanakah Saya Boleh Memadankan Teks Berbilang Baris Dengan Berkesan Menggunakan Ungkapan Biasa dalam Java?

DDD
Lepaskan: 2024-12-27 08:20:11
asal
315 orang telah melayarinya

How Can I Effectively Match Multiline Text Using Regular Expressions in Java?

Menggunakan Ungkapan Biasa untuk Padanan Teks Berbilang Baris

Apabila cuba memadankan teks berbilang baris dengan ungkapan biasa dalam Java, pertimbangan tertentu akan diambil kira. Pengubah suai Pattern.MULTILINE dan trengkas (?m) nampaknya boleh memberikan hasil yang tidak dijangka.

Untuk memahami tingkah laku, adalah penting untuk menjelaskan tujuan pengubah itu. Pattern.MULTILINE (?m) membolehkan penambat ^ (permulaan baris) dan $ (akhir baris) dipadankan pada permulaan dan penghujung setiap baris dan bukannya hanya pada sempadan rentetan. Sebaliknya, Pattern.DOTALL (?s) membenarkan aksara titik memadankan pemisah baris.

Dalam contoh anda, corak (?m) gagal apabila digunakan dengan String.matches kerana matches() memerlukan regex untuk memadankan keseluruhan rentetan. Oleh kerana regex (W)(S) anda hanya sepadan dengan sebahagian daripada rentetan, perbandingan menghasilkan palsu.

Untuk mencari rentetan yang bermula dengan "Ulasan Pengguna:", ungkapan biasa yang lebih sesuai dengan tugasan ialah:

^\s*User Comments:\s*(.*)
Salin selepas log masuk

regex ini menggunakan Pattern.DOTALL untuk membenarkan titik memadankan pemisah baris dan ia menangkap teks berikutan "Komen Pengguna:" ke dalam kumpulan tangkapan pertama.

Dengan menggunakan pengubah suai DOTALL dan memanfaatkan kaedah pemadanan yang betul (cari() atau padanan()), anda boleh memadankan teks berbilang baris dengan berkesan menggunakan ungkapan biasa dalam Jawa.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memadankan Teks Berbilang Baris Dengan Berkesan Menggunakan Ungkapan Biasa dalam Java?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan