Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mengekstrak Teks Selepas Padanan Regex Menggunakan Penegasan Lookbehind?

Linda Hamilton
Lepaskan: 2024-11-08 11:31:02
asal
354 orang telah melayarinya

How to Extract Text After a Regex Match Using Lookbehind Assertions?

Mendapatkan semula Teks selepas Regex Match

Dalam usaha anda untuk menggunakan Regex dengan berkesan, anda telah menghadapi cabaran: mengekstrak teks mengikut corak yang dipadankan . Mari kita mendalami penyelesaiannya.

Corak Regex asal anda, "ayat(.*)", hampir mencapai matlamat anda. Walau bagaimanapun, ia secara sewenang-wenangnya menangkap kedua-dua rentetan yang dipadankan ("ayat") dan teks seterusnya. Untuk meminda perkara ini, kita perlu memperkenalkan konsep yang dikenali sebagai "penegasan pandang belakang".

Menggunakan Penegasan Pandang Belakang

Penegasan pandangan di belakang yang positif (?<=. ..) sepadan dengan kedudukan tertentu dalam rentetan, sejurus selepas ungkapan yang diberikan. Dalam kes ini, kami mahu memadankan kedudukan sejurus selepas rentetan "ayat":

(?<=sentence).*
Salin selepas log masuk

Corak ini dibaca sebagai "Padankan sifar atau lebih aksara selepas kedudukan yang 'ayat' serta-merta mendahuluinya." Oleh itu, ia berjaya mengekstrak teks yang diingini.

Melaksanakan dalam Java

Untuk melaksanakan ini dalam Java, anda boleh mengubah suai kod anda seperti berikut:

Pattern pattern = Pattern.compile("(?<=sentence).*");

Matcher matcher = pattern.matcher("some lame sentence that is awesome");

boolean found = false;
while (matcher.find()) {
    System.out.println("I found the text: " + matcher.group().toString());
    found = true;
}
if (!found) {
    System.out.println("I didn't find the text");
}
Salin selepas log masuk

Kini, apabila Regex digunakan pada rentetan input, ia hanya akan memadankan dan mencetak teks berikut "ayat":

I found the text: that is awesome
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Teks Selepas Padanan Regex Menggunakan Penegasan Lookbehind?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!