Rumah >Java >javaTutorial >Bagaimana Mengekstrak Teks Mengikuti Padanan Regex Menggunakan Penegasan Pandangan Positif di Sebalik?

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

DDD
DDDasal
2024-11-08 21:02:01456semak imbas

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

Mendapatkan semula Teks Selepas Padanan Menggunakan Ungkapan Biasa

Apabila bekerja dengan ungkapan biasa, selalunya perlu mengekstrak komponen tertentu daripada padanan. Dalam sesetengah kes, anda mungkin ingin menangkap hanya teks yang mengikuti selepas corak tertentu dikenal pasti.

Soalan:

Seorang pengguna mendapatkan panduan dalam mendapatkan teks yang muncul selepas padanan regex, tidak termasuk padanan rentetan.

Penyelesaian:

Menggunakan Penegasan Pandangan Positif

Penyelesaian kepada cabaran ini terletak pada menggunakan pandangan positif di belakang penegasan (?<=). Penegasan ini memastikan bahawa padanan dibuat pada kedudukan sejurus selepas subrentetan yang ditentukan (ayat dalam kes ini).

Dengan memasukkan penegasan pandangan belakang ini ke dalam ungkapan biasa anda, anda boleh mengasingkan teks yang diingini dengan berkesan. Regex diubah suai berikut mencapai ini:

(?<=sentence).*

Penjelasan:

  • (?<=ayat): Pandangan positif di sebalik penegasan yang sepadan pada kedudukan tepat selepas "ayat" tanpa memasukkannya ke dalam padan.
  • .*: Memadankan mana-mana watak atau urutan watak berikutan penegasan melihat di belakang.

Contoh:

Memandangkan rentetan input:

"Some lame sentence that is awesome"

Dan regex yang diubah suai di atas, keputusan perlawanan ialah:

"that is awesome"

Ini menunjukkan kejayaan pengekstrakan teks berikutan "ayat", tidak termasuk "ayat" itu sendiri.

Atas ialah kandungan terperinci Bagaimana Mengekstrak Teks Mengikuti 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