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() |
方法逻辑 |
如果匹配则返回模式 |
返回匹配的模式 |
结论
正则表达式用于匹配模式。上述方法是应该采取以匹配模式的操作示例。我们还通过两个有效的示例演示了这些方法,展示了它们的功能和多功能性。通过理解这些方法及其用例,您可以有效地使用正则表达式查找匹配的模式。
广告