Rumah  >  Artikel  >  Java  >  Bagaimana Mengekstrak Teks Selepas Padanan Regex Menggunakan Penegasan Pandangan Positif di Sebalik?

Bagaimana Mengekstrak Teks Selepas Padanan Regex Menggunakan Penegasan Pandangan Positif di Sebalik?

Barbara Streisand
Barbara Streisandasal
2024-11-08 01:18:03756semak imbas

How to Extract Text After a Regex Match Using a Positive Lookbehind Assertion?

Mendapatkan semula Teks selepas Padanan Regex

Dalam bidang ungkapan biasa (Regex), mengekstrak maklumat khusus daripada teks boleh menjadi mencabar. Satu tugas biasa ialah mendapatkan semula teks yang mengikuti padanan tertentu. Artikel ini akan membimbing anda melalui proses ini, memperluaskan keperluan khusus anda untuk mencari teks selepas rentetan "ayat".

Corak Regex sedia ada anda, "ayat(.*)", berjaya mengenal pasti rentetan "ayat" . Walau bagaimanapun, ia juga menangkap teks yang dipadankan itu sendiri, yang bukan hasil yang anda inginkan.

Untuk mencapai matlamat anda, pertimbangkan untuk menggunakan pandangan positif di belakang pernyataan. Ciri ini membolehkan anda memadankan kedudukan tertentu dalam rentetan, tanpa benar-benar menjadikan teks yang dipadankan sebagai sebahagian daripada hasilnya. Dalam kes anda, anda ingin memadankan kedudukan sejurus selepas "ayat" tanpa memasukkannya.

Corak Regex yang diubah suai berikut mencapai ini:

(?<=sentence).*

Pecahan corak:

  • (?<=ayat): Penegasan pandang belakang positif ini sepadan dengan kedudukan sejurus selepas rentetan "ayat".
  • .*: Ini sepadan dengan mana-mana bilangan aksara berikutan penegasan pandang belakang, dengan berkesan menangkap teks selepas "ayat".

Di Jawa, anda boleh menggunakan corak ini untuk mendapatkan semula teks yang dikehendaki 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");
}

Kod ini akan mencetak teks "yang hebat" seperti yang dijangkakan, tanpa menyertakan rentetan "ayat".

Atas ialah kandungan terperinci Bagaimana Mengekstrak Teks Selepas Padanan Regex Menggunakan Penegasan Pandangan Positif di Sebalik?. 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