Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menggunakan Ungkapan Biasa Java untuk Memadankan Corak yang Tidak Didahului oleh Aksara Tertentu?

Bagaimanakah Saya Boleh Menggunakan Ungkapan Biasa Java untuk Memadankan Corak yang Tidak Didahului oleh Aksara Tertentu?

Linda Hamilton
Linda Hamiltonasal
2024-12-08 21:24:22515semak imbas

How Can I Use Java Regular Expressions to Match Patterns Not Preceded by Specific Characters?

Corak Padanan tidak Didahului oleh Aksara Tertentu dengan Ungkapan Biasa

Di Java, ungkapan biasa menawarkan keupayaan padanan corak yang hebat. Satu tugas khusus ialah memadankan corak hanya apabila ia tidak didahului oleh aksara tertentu.

Untuk mencapai ini, pandangan negatif boleh digunakan. Pandangan negatif di belakang menggunakan sintaks (?

Contoh:

Pertimbangkan rentetan:

String s = "foobar barbar beachbar crowbar bar ";

Untuk memadankan "bar" hanya apabila ia tidak didahului dengan "foo," gunakan ungkapan biasa berikut:

\w*(?<!foo)bar

Begini cara ia berfungsi:

  • w*: Menangkap sebarang bilangan aksara perkataan (abjad, nombor atau garis bawah) sebelum "bar."
  • (? Pandangan negatif di belakang yang memastikan aksara "foo" tidak hadir sejurus sebelum "bar."

Output:

barbar
beachbar
crowbar
bar

Nota Tambahan:

Untuk menangkap aksara sebelum "bar" (cth., "pantai"), tambah w* sebelum menangkap "bar":

\w*(?<!foo)\w*bar

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Ungkapan Biasa Java untuk Memadankan Corak yang Tidak Didahului oleh Aksara Tertentu?. 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