Rumah > Java > javaTutorial > Bagaimanakah Ungkapan Biasa Boleh Mengeluarkan Komen Berbilang Baris Gaya C dengan Cekap daripada Rentetan?

Bagaimanakah Ungkapan Biasa Boleh Mengeluarkan Komen Berbilang Baris Gaya C dengan Cekap daripada Rentetan?

DDD
Lepaskan: 2024-11-30 19:27:17
asal
159 orang telah melayarinya

How Can Regular Expressions Efficiently Remove C-Style Multiline Comments from a String?

Memadankan Komen Berbilang Baris Gaya C dengan Ungkapan Biasa

Dalam pelbagai konteks pengaturcaraan, adalah perlu untuk mengalih keluar komen berbilang baris daripada kod sumber atau teks . Tugas ini boleh dicapai dengan cekap menggunakan ungkapan biasa.

Sebagai contoh, pertimbangkan rentetan berikut yang mengandungi ulasan berbilang baris gaya C:

String src = "How are things today /* this is comment *\*/ and is your code  /*\* this is another comment */ working?"
Salin selepas log masuk

Matlamatnya adalah untuk mengalih keluar kedua-dua subrentetan ulasan daripada src rentetan.

Penyelesaian Regex:

Untuk menyelesaikan tugasan ini, corak regex yang mantap dan cekap ialah:

String pat = "/\*[^*]*\*+(?:[^/*][^*]*\*+)*/"
Salin selepas log masuk

Corak regex ini terdiri daripada komponen berikut:

  • /\* dan /: Padankan dengan permulaan dan penghujung ulasan.
  • [^*]** : Padankan 0 atau lebih aksara kecuali "*", diikuti dengan 1 atau lebih asterisk.
  • (?:): Mulakan kumpulan yang tidak menangkap.
  • [^/*][^*]** : Dalam kumpulan itu, padankan watak yang bukan "/ " atau "", diikuti dengan 0 atau lebih aksara kecuali "", dan 1 atau lebih asterisk.
  • )*: Ulang kumpulan 0 atau lebih kali.

Corak ini mengimbas rentetan dengan cekap dan memadankan ulasan berbilang baris, seperti yang ditunjukkan dalam contoh berikut:

Pattern p = Pattern.compile(pat);
Matcher m = p.matcher(src);
m.replaceAll(""); // Replaces comments with an empty string
System.out.println(m); // Prints the result: How are things today and is your code working?
Salin selepas log masuk

Pendekatan ini membolehkan penyingkiran berbilang baris dengan cekap komen daripada rentetan, menjadikannya alat yang berharga untuk pemprosesan teks dan tugasan analisis kod.

Atas ialah kandungan terperinci Bagaimanakah Ungkapan Biasa Boleh Mengeluarkan Komen Berbilang Baris Gaya C dengan Cekap daripada Rentetan?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan