Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用模式(不是字符串)检查另一个字符串是否与正则表达式匹配_Java_Regex_String - Fatal编程技术网

Java 使用模式(不是字符串)检查另一个字符串是否与正则表达式匹配

Java 使用模式(不是字符串)检查另一个字符串是否与正则表达式匹配,java,regex,string,Java,Regex,String,String有一个方便的方法匹配(stringregex)。但我将检查大约10-100个匹配值。我认为让Java为每个调用编译模式不是很有效。相反,我希望缓存解析的模式并使用它 但是,我如何才能尽可能地保持有效性,将Pattern对象与String一起使用,以生成布尔值,指示字符串与模式匹配 public static boolean patternMatches(String tested, Pattern regex) { ??? } 我想这样做的第二个原因是我已经有了一个获取字符串

String有一个方便的方法
匹配(stringregex)
。但我将检查大约10-100个匹配值。我认为让Java为每个调用编译模式不是很有效。相反,我希望缓存解析的模式并使用它

但是,我如何才能尽可能地保持有效性,将Pattern对象与String一起使用,以生成
布尔值
,指示字符串与模式匹配

public static boolean patternMatches(String tested, Pattern regex) {
   ???
}
我想这样做的第二个原因是我已经有了一个获取字符串并检索文本字符串匹配的方法:

public MyClass[] findMatches(String substring) {
  ...
}
所以我想制造一个过载:

public MyClass[] findMatches(Pattern regex) {
  ...
}

模式有一个方法
getMatcher
,它返回一个描述匹配结果的对象

Pattern pattern = Pattern.compile("pattern");
Matcher matcher = pattern.matcher("Matched string.");
boolean matches = matcher.matches();
因此,我的方法是:

public static boolean patternMatches(String tested, Pattern regex) {
  return regex.matcher(tested).matches();
}

相关人员:你检查过了吗?因为如何做你想做的事情是它显示的第一件事。@user2357112不,我检查了关于模式的指南,他们没有提到这样的事情。我通过查看
Patter.matches(String,String)
源代码找到了答案。它就在“典型调用序列”中。@user2357112在回复之前仔细阅读帖子是我希望50k rep用户已经能够处理的事情。我说我看了[在线]指南。我的句子以No开头,表示“No,我没有检查javadoc”。我现在检查了javadoc,虽然我已经知道答案了,我看到答案就在那里。现在清楚了吗?