Java中的Pattern类


Pattern 类表示正则表达式模式的编译版本。Pattern 类位于 java.util.regex 包中。此类包含用于各种操作(如匹配、分割、搜索等)的各种方法。为了创建一个 Pattern 对象,可以使用 compile 方法。

语法

public static Pattern compile(String regex)

这里 regex 表示一个正则表达式,它是一个字符串。为了编译它,我们使用此方法。此外,此编译后的对象可用于使用 Matcher 方法匹配模式。

算法

要编译并匹配模式,请按照以下步骤操作:

  • 步骤 1 - 使用字符串初始化正则表达式模式。

  • 步骤 2 - 现在,使用 compile 方法编译模式。

  • 步骤 3 - 定义要与模式匹配的输入字符串。

  • 步骤 4 - 创建一个 Matcher 对象并将模式应用于输入字符串。

  • 步骤 5 - 使用 Matcher 方法执行各种操作

语法

public class Regex {
   public static void main(String[] args) {
      String pattern = "String1";
      Pattern compiledPattern = Pattern.compile(pattern);
      String input = "Strin2";
      Matcher matcher = compiledPattern.matcher(input);
      if (matcher.find()) {
         System.out.println("Match found: " + matcher.group(0));
         System.out.println("Captured group: " + matcher.group(1));
      } else {
         System.out.println("No match found.");
      }
   }
}

方法 1:使用 matches() 方法

此方法涉及使用 matches() 方法。

示例

import java.util.regex.Pattern;

public class MatchThePattern {
   public static void main(String[] args) {
      String pattern = "Hello (\w+)";
      String input = "Hello World"; // Add the input string to be matched

      boolean letsMatch = Pattern.matches(pattern, input);
      if (letsMatch) {
         System.out.println("Pattern matched.");
      } else {
         System.out.println("Pattern not matched.");
      }
   }
}

输出

Pattern matched.

解释

通过将两个字符串输入作为参数传递给 matches 方法,我们可以成功匹配上述代码中的两个字符串模式。

方法 2:使用 find() 方法

find() 方法返回布尔类型并查找与模式匹配的表达式。以下是一个代码示例:

示例

在此示例中,我们将通过使用 find() 方法演示方法 2。

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

public class LetsFindPattern {
   public static void main(String[] args) {
      String pattern = "\b\d+\b";
      String input = "The price is 100 dollars for 3 items.";
      Pattern compiledPattern = Pattern.compile(pattern);
      Matcher matcher = compiledPattern.matcher(input);
      while (matcher.find()) {
         System.out.println("Match found: " + matcher.group());
      }
   }
}

输出

Match found: 100
Match found: 3

方法 1 和方法 2 的比较

标准

方法 1

方法 2

类型

字符串

字符串

方法

boolean matches(String regex)

boolean find()

方法逻辑

如果匹配则返回模式

返回匹配的模式

结论

正则表达式用于匹配模式。上述方法是应该采取以匹配模式的操作示例。我们还通过两个有效的示例演示了这些方法,展示了它们的功能和多功能性。通过理解这些方法及其用例,您可以有效地使用正则表达式查找匹配的模式。

更新于:2023年8月1日

479 次查看

启动您的职业生涯

通过完成课程获得认证

开始
广告