Heim >Java >javaLernprogramm >Java-Pattern-Klasse
Java Pattern Class ist eine öffentliche Abschlussklasse, die im Paket java.util bereitgestellt wird und zum Erstellen einer kompilierten Darstellung regulärer Ausdrücke verwendet wird. Alle regulären Ausdrücke werden in eine Instanz dieser Klasse konvertiert. Sie werden verwendet, um eine Instanz der Matcher-Klasse zu erstellen, die aus einer Methode „matches“ besteht, die vergleicht, um die Zeichenfolgen abzurufen, die mit den regulären Ausdrücken übereinstimmen, und „true“ zurückgibt, wenn die Zeichenfolgen übereinstimmen, andernfalls „false“ zurückgibt. Die Instanz dieser Klasse ist unveränderlich und Thread-sicher, was bedeutet, dass ihre Instanz keinen Einfluss auf die gleichzeitige Arbeit verschiedener Threads hat.
Im Folgenden sind die Methoden der Java-Musterklasse aufgeführt:
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Diese Methode hilft, ein Muster aus dem angegebenen regulären Ausdruck zu erstellen.
Parameters | The regular expression to be compiled in the form of string.
Example: ( .*) ( \hh) ( .*) |
PatternSyntaxException wird ausgelöst, wenn die Syntax des Ausdrucks ungültig ist und an die Methode übergeben wird.
Beispiel:
import java.util.regex.Pattern; public class HelloWorld { private static final String MYREGEX = " ( .*) (Learn) ( .*)?"; public static void main (String[] args) { Pattern pattern = Pattern.compile (MYREGEX); System.out.println ( "Regular Expression " +pattern.pattern ()); } }
Code:
Ausgabe:
Parameters
|
a. myregex: The regular expression to be compiled in the form of string. |
b. flag: Flags are the specifications that need to be provided while compiling a regular expression. Example are CASE_INSENSITIVE, MULTILINE, DOTALL, UNICODE_CASE. |
2. öffentliche statische Musterkompilierung (String myregex, int flag) Diese Methode hilft beim Erstellen der Instanz der Pattern-Klasse mit regulären Ausdrücken und angegebenen Flags.
myregex: Der reguläre Ausdruck, der in Form einer Zeichenfolge kompiliert werden soll.
Flag: Flags sind die Spezifikationen, die beim Kompilieren eines regulären Ausdrucks bereitgestellt werden müssen. Beispiele sind CASE_INSENSITIVE, MULTILINE, DOTALL, UNICODE_CASE.
import java.util.regex.Pattern; public class HelloWorld { private static final String REGEX = " ( .*) (Learn) ( .*)?"; public static void main (String[] args) { Pattern pattern = Pattern.compile (REGEX, Pattern.CASE_INSENSITIVE); System.out.println ( "Regular Expression " +pattern.pattern ()); } }
PatternSyntaxException wird ausgelöst, wenn die Syntax des Ausdrucks ungültig ist und an die Methode übergeben wird.
IllegalArgumentException wird ausgelöst, wenn sich die Bitwerte von denen unterscheiden, die mit den übergebenen Flags übereinstimmen.
Beispiel:Code:
Ausgabe:
import java.util.regex.Pattern; public class HelloWorld { private static final String REGEX = " ( .*) (Learn) ( .*)?"; public static void main (String[] args) { Pattern pattern = Pattern.compile (REGEX, Pattern.UNICODE_CHARACTER_CLASS ); System.out.println ( "Flag for UNICODE_CHARACTER_CLASS " +pattern.flags ()); Pattern pattern2= Pattern.compile (REGEX, Pattern.UNICODE_CASE ); System.out.println ( "Flag for UNICODE_CASE " +pattern2.flags ()); } }
3. öffentliche int-Flags ()
Diese Methode hilft dabei, den ganzzahligen Wert des Flags abzurufen, das beim Kompilieren des regulären Ausdrucks zum Erstellen der Instanz der Musterklasse gesetzt wurde.
Beispiel:Parameters | inputSequence: It is a sequence of character to which we need to match the compiled instance of regex in the form of a pattern object. |
Code:
Ausgabe:
import java.util.regex.MatchResult; import java.util.regex.Matcher; import java.util.regex.Pattern; public class HelloWorld { private static final String MYREG= " ( .*) (gu)"; private static final String SEQ ="Learning regular expression helps a lot in Artificial Intelligence"; public static void main (String[] args) { Pattern pattern = Pattern.compile (MYREG, Pattern.UNICODE_CHARACTER_CLASS ); Matcher matcherObj = pattern.matcher (SEQ); if (matcherObj.find ()) { MatchResult res = matcherObj.toMatchResult (); System.out.println ( "The offset : "+res.end ()); } } }
4. öffentlicher Matcher-Matcher (CharSequenceinputSequence)
Diese Methode wird verwendet, um eine Instanz eines Matcher-Objekts zu erstellen, indem der reguläre Ausdruck mit der angegebenen Eingabesequenz verglichen wird. Für diese Methode muss 1 Parameter übergeben werden und es wird keine Ausnahme ausgelöst.
Es handelt sich um eine Zeichenfolge, mit der wir die kompilierte Instanz von Regex in Form eines Musterobjekts abgleichen müssen.
Parameter
inputSequence:
Parameters | inputSequence: It is a sequence of character to which we need to match the compiled instance of regex in the form of a pattern object. |
MyRegex: The regular expression to be compiled in the form of string. |
Exception:
This method is used to get the regular expression from which the pattern instance has been compiled. This method requires no parameters to be passed as well as no exception will be thrown.
An example for this method is shown below with an example of the quote method.
This method is used to get the literal string after the pattern is resolved using the method’s flags. This method requires 1 parameter to be passed as well as no exception will be thrown.
Parameters | The string of regular expression that needs to be compiled. |
Example:
Code:
import java.util.regex.Matcher; import java.util.regex.Pattern; public class HelloWorld { private static String myRegx = "location$"; private static String line= "The location$ office have great capacity of seats for our employess"; private static String newEx = "Bangalore"; public static void main (String[] args) { Pattern patternObj2 = Pattern.compile (Pattern.quote (myRegx)); Matcher matcherObj1 = patternObj2.matcher (line); line= matcherObj1.replaceAll (newEx); System.out.println ( "The Regular expression defined for pattern instance is " +patternObj2.pattern ()); System.out.println ( "The Input sequence after substitution of Regular Expression "+ line); } }
Output:
This method is used to split the input String argument at every index where regular expression is found. This method requires 1 parameter to be passed as well as no exception will be thrown.
Parameters | input: The character sequence that is to be split according to the Regular expression specified. |
Example:
Code:
import java.util.regex.Pattern; public class HelloWorld { private static String REGEX = ":"; private static String INPUT = "BANGLORE:CHENNAI:GUWAHATI:AHMEDABAD"; public static void main (String[] args) { Pattern patternObj2 = Pattern.compile (REGEX); String[] result = patternObj2.split (INPUT); for (String data:result){ System.out.println (data+"\n"); } } }
Output:
This method also splits the given input sequence but upto some threshold. This method requires 2 parameters to be passed as well as no exception will be thrown.
Parameters | a. in: The character sequence that is to be split. |
b. myThreshHold: This parameter defines the threshold of splitting operation. |
Example:
Code:
import java.util.regex.Pattern; public class HelloWorld { private static String REGEX = ":"; private static String INPUT = "BANGLORE:CHENNAI:GUWAHATI:AHMEDABAD"; public static void main (String[] args) { Pattern patternObj2 = Pattern.compile (REGEX); String[] result = patternObj2.split (INPUT,3); for (String data:result){ System.out.println (data+"\n"); } } }
Output:
This method is used to get the String representation of the regular expression from which the regular expression has been compiled. This method requires no parameters to be passed as well as no exception will be thrown.
Example:
Code:
import java.util.regex.Pattern; public class HelloWorld { private static String REGEX = "location$"; public static void main (String[] args) { Pattern patternObj2 = Pattern.compile (Pattern.quote (REGEX)); System.out.println ( "toString representation of pattern instance is " +patternObj2.toString ()); } }
Output:
Pattern class is used to store the compiled representation of regular expressions from where they are passed to an instance of Matcher class to get the strings that match that regular expression. In this way, one is able to work with regular expressions more efficiently in their application.
Das obige ist der detaillierte Inhalt vonJava-Pattern-Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!