Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Menggunakan Regex dalam Java untuk Memadankan Corak Hanya Apabila Tidak Didahului oleh Aksara Tertentu?

Bagaimanakah Saya Boleh Menggunakan Regex dalam Java untuk Memadankan Corak Hanya Apabila Tidak Didahului oleh Aksara Tertentu?

Patricia Arquette
Lepaskan: 2024-11-29 22:46:11
asal
745 orang telah melayarinya

How Can I Use Regex in Java to Match Patterns Only When Not Preceded by Specific Characters?

Corak Pemadanan tidak Didahului oleh Aksara Tertentu menggunakan Regex

Di Java, ungkapan biasa menyediakan cara yang berkesan untuk memadankan corak dalam rentetan. Kadangkala, anda mungkin perlu memadankan corak hanya jika ia tidak didahului oleh aksara tertentu. Dengan memanfaatkan pandangan negatif di belakang, regex membolehkan anda mencapai ini.

Masalah:

Pertimbangkan rentetan berikut:

String s = "foobar barbar beachbar crowbar bar ";
Salin selepas log masuk

Kami ingin memadankan semua kejadian "bar" yang tidak segera didahului oleh "foo." Output yang dikehendaki ialah:

barbar
beachbar
crowbar
bar
Salin selepas log masuk

Penyelesaian:

Untuk menyelesaikan tugasan ini, kita boleh menggunakan corak regex berikut:

\w*(?<!foo)bar
Salin selepas log masuk

Memecahkan corak:

  • w* sepadan dengan sebarang bilangan aksara perkataan (huruf, nombor, atau garis bawah) sebelum perlawanan yang berpotensi. Bahagian ini menangkap watak seperti "pantai" dalam "bar pantai."
  • (?

Dengan menggunakan corak ini, kita boleh berjaya memadankan kejadian "bar" yang tidak didahului oleh "foo." Hasilnya akan mencerminkan output yang diingini.

Nota Tambahan:

  • Untuk mendapatkan maklumat lanjut tentang pandangan negatif regeks di belakang, rujuk kepada "Ungkapan Biasa - Lihat Sekeliling."
  • Bahagian w* telah ditambahkan kemudian untuk menangkap aksara sebelum corak (cth., "pantai" dalam "bar pantai").

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Regex dalam Java untuk Memadankan Corak Hanya Apabila Tidak Didahului oleh Aksara Tertentu?. 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