温馨提示×

Java正则表达式 Pattern 类的用法

小云
108
2023-09-07 16:47:21
栏目: 编程语言

Pattern 类是 Java 正则表达式中的一个重要类,它用于创建一个正则表达式模式对象。

Pattern 类的常用方法如下:

1. compile(String regex):将给定的正则表达式编译成一个模式对象。
2. matcher(CharSequence input):创建一个匹配给定输入与此模式的匹配器。
3. matches(String regex, CharSequence input):判断给定的输入是否与正则表达式匹配。
4. pattern():返回当前模式的正则表达式字符串表示。
5. split(CharSequence input):根据正则表达式将输入字符串拆分成字符串数组。
6. replaceFirst(String replacement):使用给定的替换字符串替换第一个匹配的子字符串。
7. replaceAll(String replacement):使用给定的替换字符串替换所有匹配的子字符串。

示例代码如下:

```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexExample {
   public static void main(String[] args) {
       String input = "Hello, World!";
       String patternString = "Hello";
       
       // 编译正则表达式
       Pattern pattern = Pattern.compile(patternString);
       
       // 创建匹配器
       Matcher matcher = pattern.matcher(input);
       
       // 查找匹配
       if(matcher.find()) {
           System.out.println("Found match at index " + matcher.start());
       } else {
           System.out.println("No match found");
       }
       
       // 判断输入是否与正则表达式匹配
       boolean isMatch = Pattern.matches(patternString, input);
       System.out.println("Input matches pattern: " + isMatch);
       
       // 使用正则表达式拆分字符串
       String[] splitArray = pattern.split(input);
       for(String s : splitArray) {
           System.out.println(s);
       }
       
       // 使用替换字符串替换第一个匹配的子字符串
       String replacedString = pattern.replaceFirst("Hi");
       System.out.println("Replaced string: " + replacedString);
       
       // 使用替换字符串替换所有匹配的子字符串
       String replacedAllString = pattern.replaceAll("Hi");
       System.out.println("Replaced all string: " + replacedAllString);
       
       // 获取当前模式的正则表达式字符串表示
       String patternString2 = pattern.pattern();
       System.out.println("Pattern string: " + patternString2);
   }
}
```

在上述示例代码中,首先使用 `Pattern.compile()` 方法将正则表达式编译成一个模式对象,然后使用该模式对象创建一个匹配器。可以使用匹配器的 `find()` 方法来查找匹配的子字符串,并使用 `start()` 方法获取匹配的起始位置。

可以使用 `Pattern.matches()` 方法来判断给定的输入字符串是否与正则表达式匹配。使用 `pattern.split()` 方法可以根据正则表达式将输入字符串拆分成字符串数组。使用 `pattern.replaceFirst()` 和 `pattern.replaceAll()` 方法可以使用给定的替换字符串替换匹配的子字符串。

最后,可以使用 `pattern.pattern()` 方法获取当前模式的正则表达式字符串表示。

0