阅读时间: 5分钟
java.util.regex.Pattern 是其中一个主要连接Regular expression的API。
而Pattern Class 可以改善效率的问题。
接上一篇文章,继续为大家讲解一下Pattern Class的内容。
当大家要使用Pattern.compile()时,就会使用到Pattern.matcher()。
Pattern.matcher()
它的作用是连结一个Regular expression(简称Regex)和一个被用于搜寻的text或者String,目的是验证那个text或者String是不是包含Regex。
import java.util.regex.*; public class compileCase{ public static void main(String[] args) { //首先创建一个Regex String REGEX = ".*www.*"; //创建第2个Regex String REGEX2 = ".*uppen*"; // 创建一个String, 会被用于搜寻的text String actualString = "www.uppengarden.com"; // 创建第2个String, 会被用于搜寻的text String actualString2 = “happy&uppen"; // 使用compile() method Pattern pattern = Pattern.compile(REGEX); // 创建一个 matcher物件 Matcher matcher = pattern.matcher(actualString); // 验证REGEX是否在actualString中 boolean matches = matcher.matches(); System.out.println("actualString " + "contains REGEX = " + matches); } }
解释:
Matcher matcher = pattern.matcher(actualString);
pattern是指用哪个Regex,而String REGEX是其中一个选择。
matcher()中的参数是指在哪个test或者String做搜寻,而String actualString是其中一个选择。
Pattern.pattern()
目的是返回pattern的string (Regex)。
Matcher matcher = pattern.matcher(actualString);
想知道String pattern正在用哪一个Regex。
import java.util.regex.pattern; public class compileCase2{ public static void main(String[] args) { //首先创建一个Regex String REGEX = ".*www.*"; //创建第2个Regex String REGEX2 = ".*uppen*"; // 创建一个String, 会被用于搜寻的text String actualString = "www.uppengarden.com"; // 创建第2个String, 会被用于搜寻的text String actualString2 = “happy&uppen"; // 使用compile() method Pattern pattern = Pattern.compile(REGEX); // 创建一个 matcher物件 Matcher matcher = pattern.matcher(actualString); // 返回pattern的Regex,目前是String REGEX String pattern2 = pattern.pattern(); } }