Regular expressions define patterns of strings.
Regular expressions can be used to search, edit or manipulate text.
Regular expressions are not limited to one language, but there are subtle differences in each language.
In Java, a string is actually a simple regular expression. For example, the Hello World regular expression matches the "Hello World" string.
The ava.util.regex package mainly includes the following three classes:
1.Pattern class: The pattern object is a compiled representation of a regular expression. The Pattern class has no public constructor.
To create a Pattern object, you must first call its public static compiled method, which returns a Pattern object. This method accepts a regular expression as its first parameter.
2.Matcher class: The Matcher object is an engine that interprets and matches input strings. Like the Pattern class, Matcher has no public constructor.
You need to call the matcher method of the Pattern object to obtain a Matcher object.
3.PatternSyntaxException: PatternSyntaxException is a non-mandatory exception class that represents a syntax error in a regular expression pattern.
Capturing group is a method of processing multiple characters as a single unit. It is created by grouping characters within brackets. Let's take a look at the following code.
String line = "This order was placed for QT3000! OK?"; //Enter
String pattern = "(\\D*)(\\d )(.*)"; //Our three capturing groups
Since we have three (), three groups will be formed in the end. According to the above regular expression, the result is:
This order was placed for QT
3000
! OK?
It should be noted that if you are using a Matcher object, then group(0) will be the original string (the entire string).
In actual development, for convenience, we rarely use the Pattern class or Matcher class directly, but use the methods under the String class
Verification: boolean matches(String regex)
Split: String[] split(String regex)
Replacement: String replaceAll(String regex, String replacement)
In other languages, \\ means: I want to insert a normal (literal) backslash into the regular expression, please don't give it any special meaning.
In Java, \\ means: I want to insert a regular expression backslash, so the characters after it have special meaning.
Therefore, in other languages (such as Perl), one backslash \ is enough to escape, but in Java, two backslashes are needed in the regular expression to be parsed as escape in other languages. meaning effect. It can also be simply understood that in Java's regular expressions, two \\ represent one \ in other languages. This is why the regular expression representing a single digit is \\d, which represents an ordinary backslash. yes \\\\.
Java is an object-oriented language, so there are no functions, only methods, but in general functions and methods are similar in application.
Modifier return value type method name (parameter type parameter name)
{
...
Method body
...
return return value;
}
Let's look at a practical example. This method returns the maximum value of the two parameters:
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
It's basically the same as a function, but note that JAVA is an object, so you need to pay attention to which method is in which class.
Java supports function overloading just like C.
Java supports passing variable parameters of the same type to a method:
printMax(34, 3, 3, 2, 56.5);
printMax(new double[]{1, 2, 3});
The above is the detailed content of How to define and use Java regular expressions and methods. For more information, please follow other related articles on the PHP Chinese website!