Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Mengekstrak Teks Mengikuti Padanan Regex Tanpa Menyertakan Teks Padanan?

Bagaimanakah Saya Boleh Mengekstrak Teks Mengikuti Padanan Regex Tanpa Menyertakan Teks Padanan?

DDD
Lepaskan: 2024-11-07 09:51:03
asal
1000 orang telah melayarinya

How Can I Extract Text Following a Regex Match Without Including the Matching Text?

Mencari Teks Mengikuti Padanan Regex

Anda telah menceburi bidang Regex dan menghadapi keperluan khusus: mengekstrak teks yang berjaya perlawanan tertentu tanpa memasukkan perlawanan itu sendiri. Mari kita terokai cara ini boleh dicapai.

Dalam kod yang anda berikan, corak awal "ayat(.*)" tepat padan dengan "ayat", tetapi ia juga menangkap teks berikut, menghasilkan "ayat yang hebat ." Untuk mengasingkan hanya teks berikutnya, kami akan menggunakan teknik yang dipanggil "pandangan positif di sebalik penegasan."

Pandangan Positif di Sebalik Penegasan

Pandangan positif di sebalik penegasan (?<= ayat) sepadan dengan lokasi dalam rentetan sejurus selepas teks yang ditentukan ("ayat") tanpa memasukkannya ke dalam padanan. Dengan menggunakan pernyataan ini, kami boleh mencipta corak baharu:

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

Pelaksanaan Java

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

import java.util.regex.*;

public class RegexPostMatch {
    public static void main(String[] args) {
        String example = "Some lame sentence that is awesome";
        Pattern pattern = Pattern.compile("(?<=sentence).*");

        Matcher matcher = pattern.matcher(example);

        if (matcher.find()) {
            System.out.println("Text after 'sentence': " + matcher.group());
        } else {
            System.out.println("No match found");
        }
    }
}
Salin selepas log masuk

Kod yang disemak ini akan mengeluarkan hasil yang diingini: "itu hebat."

Nota Tambahan

Di Jawa, pandangan positif di belakang pernyataan terhad kepada subungkapan panjang terhingga. Ini bermakna corak seperti "(?<=ayat*)" tidak akan berfungsi. Sebaliknya, pertimbangkan untuk menggunakan alternatif seperti:

(?<=sentence\s+|\W+sentence)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekstrak Teks Mengikuti Padanan Regex Tanpa Menyertakan Teks Padanan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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