Memadankan Koma di Luar Tanda Kurung dalam Rentetan
Pertimbangkan rentetan yang menyerupai yang berikut:
12,44,foo,bar,(23,45,200),6
Matlamatnya adalah untuk bina regex dalam Java untuk memilih hanya koma yang tidak disertakan dalam kurungan. Dalam contoh ini, padanan yang diingini ialah koma berikut "12" dan "44."
Penyelesaian
Java regex berikut menyelesaikan tugas:
Pattern regex = Pattern.compile( ", # Match a comma\n" + "(?! # only if it's not followed by...\n" + " [^(]* # any number of characters except opening parens\n" + " \) # followed by a closing parens\n" + ") # End of lookahead", Pattern.COMMENTS);
Penjelasan
regex ini menggunakan pernyataan pandangan ke hadapan yang negatif, diwakili oleh "(?!...)," untuk memastikan bahawa kurungan berikut (jika ada) bukan kurungan penutup. Kekangan ini membenarkan koma dipadankan hanya apabila ia tidak terletak dalam ungkapan kurungan.
Atas ialah kandungan terperinci Bagaimana Memadankan Koma di Luar Kurungan di Java Menggunakan Regex?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!