CodeGym/Java Blog/Random/Java Regex - Matcher
John Squirrels
Antas
San Francisco

Java Regex - Matcher

Nai-publish sa grupo

Ano ang isang Regex sa Java?

Ang isang regular na expression o regex ay isang sequence ng mga character na bumubuo ng isang pattern. Kapag naghahanap ka ng anumang data maaari mong gamitin ang espesyal na pattern na ito upang makahanap ng mga tumutugmang string. Maaari itong maging kasing simple ng isang character o maaari itong maging isang mas kumplikadong pattern. Sa Java, mayroon kang java regex package na may mga klase na nagbibigay ng pasilidad ng paggamit ng mga regular na expression para sa paghahanap at pagmamanipula ng pattern. Ang package na ito ay ini-import sa iyong code sa sumusunod na paraan.
import java.util.regex.*;

Java Regex - Matcher

Ang Java Matcher Class ay nagbibigay ng pattern na pagtutugma sa mga regular na expression.
Ini-import ng linya ng code na ito ang lahat ng klase na available sa regex package. Kung gusto mong mag-import lamang ng klase ng Matcher maaari mo itong i-import gamit ang sumusunod na linya ng code.
import java.util.regex.Matcher;
Ang java regex package ay may tatlong klase:
  1. Klase ng Pattern : Upang tukuyin ang pattern na kailangang hanapin.

  2. Klase ng Matcher : Upang itugma ang pattern sa teksto at hanapin ito.

  3. PatternSyntaxException Class: Upang ipahiwatig ang anumang mga error sa syntax sa regular na expression.

Ang paggawa nito ay medyo simple. Una, lumikha ka ng object ng Pattern mula sa regular na expression upang tukuyin ang isang pattern. Pagkatapos ay isang bagay na Matcher ay nilikha gamit ang object na Pattern . Ang klase ng Matcher ay may maraming pamamaraan. Ang pinakamahalaga sa mga ito ay ang matches() method na nagbabalik ng true kung ang regular na expression ay tumutugma sa text, kung hindi ay nagbabalik ng false . Ang Java Matcher Class ay may maraming iba pang kapaki-pakinabang na pamamaraan para sa pagpapalit ng text sa mga input string na gumaganap ng mas kumplikadong mga function kaysa sa replace() na mga pamamaraan sa java. Mayroon lamang dalawang replace() na pamamaraan sa java, samantalang ang klase ng Matcher ay nagbibigay ng maraming function para sa gawaing ito.

Mga Paraan ng Klase ng Java Matcher

Ang ilan sa mga pamamaraan ng Java Matcher Class ay inilarawan sa ibaba.
  • boolean matches() — nagbabalik ng true kung ang regular na expression ay tumutugma sa pattern.

  • boolean find() — hinahanap ang susunod na regular na expression na tumutugma sa pattern.

  • boolean find(int start) — hinahanap ang susunod na regular na expression na tumutugma sa pattern mula sa ibinigay na simula.

  • int start() — ibinabalik ang panimulang index ng tugma.

  • int end() — ibinabalik ang ending index ng ibinalik na tugma.

  • int groupCount() — ibinabalik ang kabuuang bilang ng mga grupo sa tugma.

  • String replaceAll(String replacement) — pinapalitan ang bawat kasunod ng tugma ng ibinigay na kapalit.

  • String replaceFirst(String replacement) — pinapalitan ang unang kasunod ng tugma ng ibinigay na kapalit.

Halimbawa ng Java Matcher

Maraming mga kapaki-pakinabang na pamamaraan para sa klase ng Matcher , gayunpaman, titingnan pa natin ang partikular na (mga) halimbawa ng pamamaraan ng match() .

Gamit ang matches() method

Ang sumusunod ay nagpapakita ng isang Halimbawa ng Java Matcher para sa pamamaraan ng mga tugma () .
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");
	}
}
Output
Ang Pattern ay: (.*)apple(.*) Text na susuriin ay: Apples Output para sa mga tugma(): false Ang Pattern ay: (.*)apple(.*) Text na susuriin ay: Apple Output para sa mga tugma() : false Ang Pattern ay: (.*)apple(.*) Text na susuriin ay: apple Output para sa mga tugma(): true Ang Pattern ay: (.*)apple(.*) Text na susuriin ay: Isang mansanas sa isang araw inilalayo ang doktor. Output para sa mga tugma(): true Ang Pattern ay: (.*)apple(.*) Ang tekstong susuriin ay: berdeng mansanas, dilaw na mansanas, pulang mansanas, gusto ko ang lahat ng uri ng mansanas. Output para sa mga tugma(): true

Konklusyon

Sa pagtatapos ng post na ito, umaasa kaming nasanay ka na sa Java Matcher Class sa Java. Natutunan mo kung paano gamitin ito sa iyong code. Natutunan mo rin kung paano tawagan ang matches() method ng Matcher Class. Maaari mong subukan ang iba pang mga pamamaraan ng Matcher Class sa iyong sarili upang maunawaan ito nang mas malalim. Panatilihin ang pagsasanay para sa isang mas malalim na utos ng konsepto. Hanggang doon, patuloy na lumago at patuloy na nagniningning!
Mga komento
  • Sikat
  • Bago
  • Luma
Dapat kang naka-sign in upang mag-iwan ng komento
Wala pang komento ang page na ito