Heim > Java > javaLernprogramm > Hauptteil

Java-Übereinstimmungen

王林
Freigeben: 2024-08-30 16:00:27
Original
687 Leute haben es durchsucht

Die Java Matcher-Klasse ist eine der Klassen des Java Regex-Pakets. Die Java-Matcher-Klasse und das Java-Matcher-Muster sind Teil des Regex-Pakets, das die Möglichkeit bietet, Klassen und Schnittstellen für reguläre Ausdrücke zu erstellen. Es ist hilfreich, die Operationen und die Zeichenfolge des regulären Ausdrucks zu finden und dann einen Vergleich mit der anderen Zeichenfolge des regulären Ausdrucks durchzuführen, um eine Übereinstimmung zu finden. Sobald eine Übereinstimmung gefunden wird, wird eine Schnittstelle erstellt, die als MatchResult-Schnittstelle bezeichnet wird. Eine Regex-Engine wird verwendet, um das definierte Szenario des Zeichenfolgenabgleichs und der Erstellung der Schnittstelle durchzuführen.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Java Matcher-Klassenmethoden

Im Folgenden sind die Klassenmethoden aufgeführt:

  • öffentliche boolesche Übereinstimmungen()
  • public boolean find()
  • public boolean find(int start)
  • public String group()
  • public int start() und int start(int group)
  • public int end() und int end(int group)
  • public int groupCount()
  • public boolean lookingAt()
  • public Matcher appendReplacement()
  • public StringBuffer appendTail()
  • öffentlicher String replaceAll()
  • public String replaceFirst()
  • public static String quoteReplacement()

1. öffentliche boolesche Übereinstimmungen()

boolean matches() ist eine Methode innerhalb der Java Matcher-Klasse, die verwendet wird, um zu testen, ob der reguläre Ausdruck mit dem Muster übereinstimmt.

Beispiel:

Dieses Programm veranschaulicht die öffentliche boolesche Methode „matches()“ der Java-Matcher-Klasse mit dem Muster.

Code:

import java.util.regex.*;
public class BooleanRegMatches{
public static void main(String args[])
{
System.out.println(Pattern.matches("[banana]", "qda"));
System.out.println(Pattern.matches("[mango]", "mn"));
System.out.println(Pattern.matches("[orange]", "e"));
}
}
Nach dem Login kopieren

Ausgabe:

Java-Übereinstimmungen

2. public boolean find()

Diese Methode ist Teil der Matcher-Klasse und wird verwendet, um den nächsten Ausdruck zu finden und abzugleichen, der mit dem Muster übereinstimmen und zum Erstellen einer Schnittstelle verwendet werden kann.

Beispiel:

Dieses Programm wird verwendet, um den passenden regulären Ausdruck zu finden und abzugleichen und mit dem Muster zu vergleichen, um die Schnittstelle zu erstellen.

Code:

import java.util.regex.Pattern;
import java.util.Scanner;
import java.util.regex.Matcher;
public class Regx_Pattrn_1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while (true) {
System.out.println("consider a regulr exprssn for traversing:");
Pattern pattern_k = Pattern.compile(sc.nextLine());
System.out.println("Next Text to Execute:");
Matcher matcher_g = pattern_k.matcher(sc.nextLine());
boolean found = false;
while (matcher_g.find()) {
System.out.println(" Text needs to be searched  "+matcher_g.group()+" from starting index "+
matcher_g.start()+" and from ending index "+matcher_g.end());
found = true;
}
if(!found){
System.out.println("No match is found after comparison");
}
}
}
}
Nach dem Login kopieren

Ausgabe:

Java-Übereinstimmungen

3. öffentlicher boolescher Find(int start)

Diese Methode wird verwendet, um die Methode herauszufinden, die dem regulären Ausdruck ab dem Anfangs- oder Endindex entspricht.

Beispiel:

Dieses Programm demonstriert die boolesche Methode find(int start), die den Start- und Endindex des regulären Ausdrucks angibt.

Code:

import java.util.regex.Pattern;
import java.util.Scanner;
import java.util.regex.Matcher;
public class Java_Pattrn_2 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while (true) {
System.out.println("Form one reg_expression pattern:");
Pattern pattern_j = Pattern.compile(sc.nextLine());
System.out.println("Neeed to match some part of the string for execution:");
Matcher matcher_o = pattern_j.matcher(sc.nextLine());
boolean found1 = false;
while (matcher_o.find()) {
System.out.println("got the pattern initiated where "+matcher_o.group()+" index_is_starting "+
matcher_o.start()+" index_is_ending "+matcher_o.end());
found1 = true;
}
if(!found1){
System.out.println("Some kind of mismatch is prevailing");
}
}
}
}
Nach dem Login kopieren

Ausgabe:

Java-Übereinstimmungen

4. public String group()

Diese Methode ist Teil der Java Matcher-Klasse, die anschließend die übereinstimmende Zeichenfolge des regulären Ausdrucks zurückgibt.

Beispiel:

Dieses Programm demonstriert die String-Gruppe()-Methode der Java-Matcher-Klasse, die versucht, die nachfolgende Teilzeichenfolge des regulären Ausdrucks zu generieren, nachdem sie auf die Übereinstimmungszeichenfolge trifft.

Code:

import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Regx_Pttrn_3 {
public static void main(String[] args) {
String reg_exprn_txt ="I am trying to learn something new, and trying to learning something from there," +
" and will one day become a skilled person. ";
String pattern_one_str = "(trying)";
Pattern pattrn_7 = Pattern.compile(pattern_one_str);
Matcher matchr_0 = pattrn_7.matcher(reg_exprn_txt);
while(matchr_0.find()) {
System.out.println(" Matched_Value: " + matchr_0.group(1));
}
}
}
Nach dem Login kopieren

Ausgabe:

Java-Übereinstimmungen

5. public int start() und int start(int group)

int start () und die int start(int group)-Methode als Teil der Java Matcher-Klasse werden verwendet, um die nachfolgenden Werte des Teilstrings des Strings mit dem Startindex des gruppierten Strings abzurufen.

Beispiel:

Dieses Programm demonstriert die String-Gruppierung und findet anschließend die nachfolgende Matcher-Zeichenfolge, die mit dem Startindex des regulären Ausdrucks übereinstimmt.

Code:

import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Regx_Pttrn4 {
public static void main(String[] args) {
String reg_txt_exprssion    =
"This text needs to be done " +
"with some careful attention 'done'.";
String string_grouping = "done";
Pattern pattern_l = Pattern.compile(string_grouping);
Matcher matcher_l = pattern_l.matcher(reg_txt_exprssion);
int count = 0;
while(matcher_l.find()) {
count++;
System.out.println("Matching_context: " + count + " : "
+ matcher_l.start());
}
}
}
Nach dem Login kopieren

Ausgabe:

Java-Übereinstimmungen

6. public int end() und int end(in group)

Diese Methode wird verwendet, um den Endindex der Teilzeichenfolge des übereinstimmenden nachfolgenden Zeichenfolgenmusters zurückzugeben.

Beispiel:

Dieses Programm wird verwendet, um die int end (in Group)-Methode der Java Matcher-Klasse zu demonstrieren.

Code:

import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Regx_Pattrn5 {
public static void main(String[] args) {
String Expression    =
"Some special substring characters and escape characters need to be searched for. " +
"that to get the number of hits on the given expression of the text 'to'.";
String string_Pattrn = "to";
Pattern pattern_f = Pattern.compile(string_Pattrn);
Matcher matcher_f = pattern_f.matcher(Expression);
int count = 0;
while(matcher_f.find()) {
count++;
System.out.println("match_found: " + count + " : "
+ matcher_f.end());
}
}
}
Nach dem Login kopieren

Ausgabe:

Java-Übereinstimmungen

7. public int groupCount

Diese Methode wird verwendet, um die Anzahl der Gruppen zurückzugeben, die als Satz regulärer Ausdrücke vorhanden sind, nachdem die übereinstimmende Teilzeichenfolge des Reg-Ausdrucks verglichen wurde.

Beispiel:

Dieses Programm demonstriert die int-Gruppenzählmethode der Java Matcher-Klasse.

Code:

import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Regx_Pattrn_6 {
public static void main(String[] args) {
String run_Exp  = " I am fond of eating delicious and yummy food everythime, and my mom is also fond of cooking that," +
" and dad also wants to taste the yummy food.";
String patternString1 = "(fond) (.+?) ";
Pattern pattern_s = Pattern.compile(patternString1);
Matcher matcher_s = pattern_s.matcher(run_Exp);
while(matcher_s.find()) {
System.out.println("matching_found_present: " +  "count:"+ matcher_s.group(1) +
" "       + matcher_s.group(2));
}
}
}
Nach dem Login kopieren

Ausgabe:

Java-Übereinstimmungen

8. public boolean lookingat()

As part of the matcher class, this method only tries to match the beginning of the text, not the entire text, which means, unlike the matcher class, which considers the entire regular expression for matching and result.

Example:

This program demonstrates the boolean lookingat() method of the Java Matcher class.

Code:

import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Regx_Pattrn_7 {
public static void main(String[] args) {
String String_expr = "An expression to search and match the string pattern " + "make a search for the pattern.";
String String_ptrn = "pattern";
Pattern pattern_k = Pattern.compile(String_ptrn, Pattern.CASE_INSENSITIVE);
Matcher matcher_k = pattern_k.matcher(String_expr);
System.out.println("currently_looking_At = " + matcher_k.lookingAt());
System.out.println("currently_matches   = " + matcher_k.matches());
}
}
Nach dem Login kopieren

Output:

Java-Übereinstimmungen

9. public Matcher appendReplacement()

This method is used to replace the set of text in the regular expression and then append that input string into the string buffer. It keeps a check on the string buffer what is being copied and what is needed to be replaced.

Example:

This program demonstrates the Matcher appendReplacement() method of Java Matcher.

Code:

import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Regex_Pttrn_8 {
public static void main(String[] args) {
String sm_txt  =  "I love to read books of harry potter, and i also love to read books of JK Rowling" +   " and My favourite writer writes all fiction books.";
String String_ptrn1 = "((books) (.+?)) ";
Pattern pattern_o = Pattern.compile(String_ptrn1);
Matcher matcher_o = pattern_o.matcher(sm_txt);
StringBuffer stringBuffer = new StringBuffer();
while(matcher_o.find()){
matcher_o.appendReplacement(stringBuffer, " fiction books ");
System.out.println(stringBuffer.toString());
}
}
}
Nach dem Login kopieren

Output:

Java-Übereinstimmungen

10. public StringBuffer appendTail()

This method also behaves in a similar fashion with a difference that if the last match is found from the input text and is not yet copied to the string buffer, then it is needed to check for the required text and can append at the end of the expression and then can be copied into the buffer.

Example:

This program demonstrates the StringBuffer append Tail() method of Java Matcher.

Code:

import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Regex_Pttrn_8 {
public static void main(String[] args) {
String sm_txt  =  "I love to read books of harry potter, and i also love to read books of JK Rowling" +  " and My favourite writer writes all fiction books.";
String String_ptrn1 = "((books) (.+?)) ";
Pattern pattern_p = Pattern.compile(String_ptrn1);
Matcher matcher_p = pattern_p.matcher(sm_txt);
StringBuffer stringBuffer = new StringBuffer();
while(matcher_p.find()){
matcher_p.appendReplacement(stringBuffer, " fiction books ");
System.out.println(stringBuffer.toString());
}
matcher_p.appendTail(stringBuffer);
System.out.println(stringBuffer.toString());
}
}
Nach dem Login kopieren

Output:

Java-Übereinstimmungen

11. public String replaceAll()

As its name suggests, the String replaceAll () method can replace all the found matches and matched groups with the regular expression.

Example:

This program demonstrates the String replaceAll() method of Java Matcher.

Code:

import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Java_Reg_Replace {
public static void main(String[] args) {
String one_ptrn    ="I want to have a cup of tea, and I also want to have a cup of coffe at the same time," +
" and also want to have toffee.";
String ptrn_ex_strng = "((cofee) (.+?)) ";
Pattern pattern1 = Pattern.compile(ptrn_ex_strng);
Matcher matcherb = pattern1.matcher(one_ptrn);
String replaceAll = matcherb.replaceAll("tea or coffee ");
System.out.println("replaceAll   = " + replaceAll);
}
}
Nach dem Login kopieren

Output:

Java-Übereinstimmungen

12. public String replaceFirst()

This method is used for replacing the string text from the beginning of the regular expression as soon as the first match gets hit.

Example:

This program demonstrates the replaceFirst() method of Java Matcher.

Code:

import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Java_Reg_Replace {
public static void main(String[] args) {
String one_ptrn    ="I want to have a cup of tea, and I also want to have a cup of coffe at the same time," + " and also want to have toffee.";
String ptrn_ex_strng = "((cofee) (.+?)) ";
Pattern pattern1 = Pattern.compile(ptrn_ex_strng);
Matcher matcherb = pattern1.matcher(one_ptrn);
String replaceAll = matcherb.replaceAll("tea or coffee ");
System.out.println("replaceAll   = " + replaceAll);
String replaceFirst = matcherb.replaceFirst("tea or coffee ");
System.out.println("replaceFirst = " + replaceFirst);
}
}
Nach dem Login kopieren

Output:

Java-Übereinstimmungen

13. public static String quoteReplacement()

It is a mediator method of all the replace methods and is used when the string and the characters in the string need to be replaced with the parameters passed as a replaced parameter.

Example:

This program demonstrates the String quoteReplacement() method of Java Matcher.

Code:

import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class reg_quote_replcment {
public static void main(String[] args) {
String reg_exprsn = "Welcome Everyone";
Pattern pattern_a = Pattern.compile(reg_exprsn);
String stringNeedsToMatch  = "Welcome evryone to the laerning portal of educba";
Matcher matcher_b = pattern_a.matcher(stringNeedsToMatch);
String stringToBeReplaced = "Welcome";
System.out.println(matcher_b .quoteReplacement(stringToBeReplaced));
}
}
Nach dem Login kopieren

Output:

Java-Übereinstimmungen

Conclusion

Java Matcher class is a class which is part of Java regex package and mainly deals with the regular expressions and its functioning with the other regular function at the index level, replacement methods and quotereplacement method. It has simplified the overall manipulation of the strings and characters of the string for regular expressions.

Das obige ist der detaillierte Inhalt vonJava-Übereinstimmungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!