CodeGym /Blog Java /rawak /Java Regex - Matcher
John Squirrels
Tahap
San Francisco

Java Regex - Matcher

Diterbitkan dalam kumpulan

Apakah Regex di Jawa?

Ungkapan biasa atau regex ialah urutan aksara yang membentuk corak. Apabila anda mencari sebarang data, anda boleh menggunakan corak khusus ini untuk mencari rentetan yang sepadan. Ia boleh semudah aksara tunggal atau ia boleh menjadi corak yang lebih kompleks. Di Java, anda mempunyai pakej java regex yang mempunyai kelas yang menyediakan kemudahan menggunakan ungkapan biasa untuk mencari corak dan manipulasi. Pakej ini diimport ke dalam kod anda dengan cara berikut.
import java.util.regex.*;

Java Regex - Matcher

Kelas Java Matcher menyediakan padanan corak dengan ungkapan biasa.
Baris kod ini mengimport semua kelas yang tersedia dalam pakej regex. Jika anda ingin mengimport kelas Matcher sahaja , anda boleh mengimportnya menggunakan baris kod berikut.
import java.util.regex.Matcher;
Pakej regex java mempunyai tiga kelas:
  1. Kelas Corak : Untuk menentukan corak yang perlu dicari.

  2. Kelas Matcher : Untuk memadankan corak dalam teks dan mencarinya.

  3. Kelas PatternSyntaxException : Untuk menunjukkan sebarang ralat sintaks dalam ungkapan biasa.

Cara kerjanya agak mudah. Mula-mula, anda mencipta objek Corak daripada ungkapan biasa untuk menentukan corak. Kemudian objek Matcher dicipta menggunakan objek Pattern . Kelas Matcher mempunyai banyak kaedah. Yang paling penting ialah kaedah matches() yang mengembalikan benar jika ungkapan biasa sepadan dengan teks, jika tidak mengembalikan false . Kelas Java Matcher mempunyai banyak kaedah berguna lain untuk menggantikan teks dalam rentetan input yang melaksanakan fungsi yang lebih kompleks daripada kaedah replace() dalam java. Terdapat hanya dua kaedah replace() dalam java, manakala kelas Matcher menyediakan pelbagai fungsi untuk tugas ini.

Kaedah Kelas Java Matcher

Beberapa kaedah Java Matcher Class diterangkan di bawah.
  • boolean matches() — mengembalikan benar jika ungkapan biasa sepadan dengan corak.

  • boolean find() — mencari ungkapan biasa seterusnya yang sepadan dengan corak.

  • boolean find(int start) — mencari ungkapan biasa seterusnya yang sepadan dengan corak dari permulaan yang diberikan.

  • int start() — mengembalikan indeks permulaan perlawanan.

  • int end() — mengembalikan indeks pengakhiran padanan yang dikembalikan.

  • int groupCount() — mengembalikan jumlah kumpulan dalam perlawanan.

  • String replaceAll(String replacement) — menggantikan setiap urutan perlawanan dengan penggantian yang diberikan.

  • String replaceFirst(String replacement) — menggantikan urutan pertama perlawanan dengan penggantian yang diberikan.

Contoh Java Matcher

Terdapat banyak kaedah yang berguna untuk kelas Matcher , walau bagaimanapun, kami akan melihat lebih lanjut pada contoh khusus kaedah padanan() .

Menggunakan kaedah padanan().

Yang berikut menunjukkan Contoh Java Matcher untuk kaedah matches() .
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Example {

	public static void main(String[] args) {

		String regexPattern = "(.*)apple(.*)"; // this regex means that any char sequence can precede or succeed "apple"
		String firstCheck = "Apples";
		String secondCheck = "Apple";
		String thirdCheck = "apple";
		String fourthCheck = "An apple a day keeps the doctor away.";
		String fifthCheck = "green apple, yellow apple, red apple, i love all kinds of apples.";


		Pattern pattern = Pattern.compile(regexPattern);
		Matcher matcher1 = pattern.matcher(firstCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + firstCheck);
		System.out.println("Output for matches(): " + matcher1.matches() + "\n");

		Matcher matcher2 = pattern.matcher(secondCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + secondCheck);
		System.out.println("Output for matches(): " + matcher2.matches() + "\n");

		Matcher matcher3 = pattern.matcher(thirdCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + thirdCheck);
		System.out.println("Output for matches(): " + matcher3.matches() + "\n");

		Matcher matcher4 = pattern.matcher(thirdCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + fourthCheck);
		System.out.println("Output for matches(): " + matcher4.matches() + "\n");

		Matcher matcher5 = pattern.matcher(fifthCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + fifthCheck);
		System.out.println("Output for matches(): " + matcher5.matches() + "\n");
	}
}
Pengeluaran
Coraknya ialah: (.*)apple(.*) Teks untuk diperiksa ialah: Apples Output untuk padanan(): false Coraknya ialah: (.*)apple(.*) Teks untuk diperiksa ialah: Apple Output untuk padanan() : false Corak ialah: (.*)apple(.*) Teks untuk diperiksa ialah: apple Output untuk padanan(): true Corak ialah: (.*)apple(.*) Teks untuk diperiksa ialah: Sebiji epal sehari menjauhkan doktor. Output untuk padanan(): true Coraknya ialah: (.*)apple(.*) Teks untuk diperiksa ialah: epal hijau, epal kuning, epal merah, saya suka semua jenis epal. Output untuk padanan(): benar

Kesimpulan

Menjelang akhir siaran ini, kami harap anda telah membiasakan diri dengan Kelas Java Matcher di Jawa. Anda telah belajar cara menggunakannya dalam kod anda. Anda juga telah mempelajari cara memanggil kaedah matches() Kelas Matcher . Anda boleh mencuba kaedah lain Kelas Matcher sendiri untuk memahaminya dengan lebih mendalam. Teruskan berlatih untuk menguasai konsep yang lebih mendalam. Sehingga itu, terus berkembang dan terus bersinar!
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION