Di sini, kami akan menunjukkan watak melarikan diri dalam Regex melalui program Java. Sebelum kita menyelami topik ini, mari kita biasakan diri dengan istilah "watak melarikan diri" dan "ungkapan biasa."
Ia adalah singkatan daripada ungkapan biasa. Ia adalah API yang membolehkan pengguna menentukan corak rentetan untuk mencari, mengubah suai dan menyunting rentetan. Ungkapan biasa sering digunakan untuk menentukan medan rentetan terhad, seperti pengesahan e-mel dan kata laluan. Pakej java.util.regex mengandungi ungkapan biasa.
Apabila aksara didahului dengan garis sengkang ke belakang (), ia termasuk nombor, huruf dan tanda baca. Pengkompil melayan watak-watak ini secara berbeza, dan watak sedemikian dipanggil watak melarikan diri.
Beberapa contoh termasuk:
n - Dalam contoh ini, ia digunakan untuk menambah baris baharu pada teks.
’ - Ia digunakan untuk menambah satu aksara petikan pada teks di sini.
Untuk memadankan aksara khas dalam ungkapan biasa, seperti titik (.), tanda paun (#), dsb., aksara ini yang mempunyai makna istimewa kepada ungkapan biasa mesti dilepaskan.
Sebagai contoh, jika titik (.) tidak terlepas dalam ungkapan biasa, ia akan sepadan dengan mana-mana aksara dan menghasilkan hasil yang tidak jelas.
Dalam Java Regex, aksara boleh dilepaskan dalam dua cara berbeza, yang akan kita lihat secara terperinci di bawah.
Gunakan Q dan E untuk melarikan diri
Gunakan sengkang terbalik() untuk melarikan diri
Untuk melarikan watak, kita boleh menggunakan urutan pelarian Q dan E.
Jujukan melarikan diri bermula dengan huruf Q dan berakhir dengan huruf E.
Di antara huruf Q dan E, semua aksara dilepaskan.
sering digunakan untuk melepaskan sejumlah besar aksara.
Atur cara berikut menunjukkan cara menggunakan aksara dot escape dalam ungkapan biasa berfungsi.
<span style="font-size: 13.125px;">// Java Program to demonstrate how to escape characters in Java // Regex Using \Q and \E for escaping import java.io.*; import java.util.regex.*; //creation of a class named Regexeg1 public class Regexeg1 { // Main method public static void main(String[] args) { // providing two strings as inputs String s1 = "Tutorials.point"; String s2 = "Tutorialspoint"; //creation of an object of Pattern class with dot escaped </span>Pattern p1 = Pattern.compile("<span>\</span>\Q.<span>\</span>\E"); //creation of an object of Pattern class without escaping the dot Pattern p2 = Pattern.compile("."); // Matchers for every combination of patterns and strings Matcher m1 = p1.matcher(s1); Matcher m2 = p1.matcher(s2); Matcher m3 = p2.matcher(s1); Matcher m4 = p2.matcher(s2); // find whether p1 and p2 match and display the Boolean value as a result System.out.println("p1 matches s1: " + m1.find()); System.out.println("p1 matches s2: " + m2.find()); System.out.println("p2 matches s1: " + m3.find()); System.out.println("p2 matches s2: " + m4.find()); } } </span>
p1 matches s1: true p1 matches s2: false p2 matches s1: true p2 matches s2: true
Dalam program Java di atas, Q dan E digunakan untuk melepaskan rentetan aksara dalam ungkapan biasa.
Mencipta dua rentetan input, s1 dan s2, dan dua objek Corak, p1 dan p2, di mana p1 menggunakan Q dan E untuk melepaskan aksara titik ".", manakala p2 tidak terlepas.
Empat objek Matcher dicipta iaitu m1, m2, m3 dan m4 yang digunakan untuk memadankan rentetan input dengan objek Pattern.
Akhir sekali, atur cara memaparkan nilai Boolean benar jika objek Corak p1 dan p2 sepadan dengan rentetan input s1 dan s2 menggunakan objek Matcher m1, m2, m3 dan m4, dan memaparkan nilai Boolean palsu jika ia tidak sepadan .
Backslash boleh digunakan untuk melarikan diri daripada aksara.
Oleh kerana watak garisan belakang adalah watak tersendiri, kita memerlukan dua garisan garisan belakang.
Watak-watak itu kemudiannya akan dilepaskan.
Ia selalunya digunakan untuk melepaskan aksara pada hujung rentetan.
Terjemahan bahasa Cina bagiAtur cara berikut menunjukkan cara melarikan aksara dalam ungkapan biasa menggunakan garis serong ke belakang (//) berfungsi.
// Java Program to demonstrate how to escape characters in Java // Regex using backslash (\) for escaping import java.io.*; import java.util.regex.*; //creation of a class named Regexeg2 public class Regexeg2 { public static void main (String[] args) { // providing two strings as inputs String s1="Tutorials.point"; String s2="Tutorialspoint"; //creation of an object of Pattern class with dot escaped Pattern p1=Pattern.compile("<span>\</span>\."); //creation of an object of Pattern class without dot escaped Pattern p2=Pattern.compile("."); //Four matchers for each pattern string combination Matcher m1=p1.matcher(s1); Matcher m2=p1.matcher(s2); Matcher m3=p2.matcher(s1); Matcher m4=p2.matcher(s2); // find whether p1 and p2 match and display the boolean value as a result System.out.println("p1 matches s1: "+m1.find()); System.out.println("p1 matches s2: "+m2.find()); System.out.println("p2 matches s1: "+m3.find()); System.out.println("p2 matches s2: "+m4.find()); } }
p1 matches s1: true p1 matches s2: false p2 matches s1: true p2 matches s2: true
Dalam kod Java di atas, garis miring ke belakang digunakan untuk memadankan aksara khas dalam rentetan, menunjukkan penggunaan aksara melarikan diri dalam ungkapan biasa.
Di sini, dua rentetan input dicipta, iaitu s1 dan s2, dan dua objek Corak p1 dan p2, di mana p1 melarikan diri daripada aksara titik "."
Kemudian empat objek Matcher dicipta iaitu m1, m2, m3 dan m4 yang digunakan untuk memadankan rentetan input dengan objek Pattern.
Akhir sekali, atur cara menggunakan objek Matcher m1, m2, m3 dan m4 untuk memadankan rentetan input s1 dan s2 Jika objek Corak p1 dan p2 sepadan dengan rentetan input, nilai boolean benar dipaparkan dan jika ia berlaku. tidak sepadan, kemudian Memaparkan nilai boolean palsu.
Artikel ini menerangkan cara melepaskan watak dalam ungkapan biasa. Artikel ini bermula dengan membincangkan istilah ungkapan biasa dan aksara melarikan diri, dan memperkenalkan dua kaedah dan pelaksanaannya untuk memahami dengan jelas topik ini.
Atas ialah kandungan terperinci Contoh Program Java: Menunjukkan Aksara Melarikan Diri dalam Ungkapan Biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!