java中正则表达式的模式匹配
我需要编写一个程序,将模式与行匹配,该模式可以是正则表达式或正规模式 示例:java中正则表达式的模式匹配,java,regex,Java,Regex,我需要编写一个程序,将模式与行匹配,该模式可以是正则表达式或正规模式 示例: 若模式为“tiger”,则仅包含“tiger”的行应匹配 如果模式为“^t”,则以“t”开头的行应匹配 我是这样做的: 块报价模式和匹配器类 问题是,当我使用Matcher.find()时,所有正则表达式都是匹配的,但如果我给出完整的模式,那么它就不匹配 如果使用matches(),则只匹配完整的模式,而不匹配正则表达式 我的代码: import java.util.regex.Pattern; import java
若模式为“tiger”,则仅包含“tiger”的行应匹配
如果模式为“^t”,则以“t”开头的行应匹配 我是这样做的: 块报价模式和匹配器类 问题是,当我使用
Matcher.find()
时,所有正则表达式都是匹配的,但如果我给出完整的模式,那么它就不匹配
如果使用matches()
,则只匹配完整的模式,而不匹配正则表达式
我的代码:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class MatchesLooking
{
private static final String REGEX = "^f";
private static final String INPUT =
"fooooooooooooooooo";
private static Pattern pattern;
private static Matcher matcher;
public static void main(String[] args)
{
// Initialize
pattern = Pattern.compile(REGEX);
matcher = pattern.matcher(INPUT);
System.out.println("Current REGEX is: "
+ REGEX);
System.out.println("Current INPUT is: "
+ INPUT);
System.out.println("find(): "
+ matcher.find());
System.out.println("matches(): "
+ matcher.matches());
}
}
匹配
给定正则表达式^t
仅当字符串仅由t
组成时才匹配
您还需要包含字符串的其余部分,以使其匹配。您可以通过附加*
,这意味着零个或多个通配符
"^t.*"
另外,当使用匹配项时,^
(相当于$
)是可选的
我希望这会有帮助,我不完全清楚你在挣扎什么。请随意澄清。匹配
如果正则表达式为^t,则只有当字符串仅由t
组成时才会匹配
您还需要包含字符串的其余部分,以使其匹配。您可以通过附加*
,这意味着零个或多个通配符
"^t.*"
另外,当使用匹配项时,^
(相当于$
)是可选的
我希望这会有帮助,我不完全清楚你在挣扎什么。请随时澄清。这就是Matcher的工作原理:
while(matcher.find()){
System.out.println(matcher.group());
}
如果您确定输入中只能有一个匹配项,则还可以使用:
System.out.println(“find():”+matcher.find());
System.out.println(“matches():”+matcher.group());
这就是Matcher的工作原理:
while(matcher.find()){
System.out.println(matcher.group());
}
如果您确定输入中只能有一个匹配项,则还可以使用:
System.out.println(“find():”+matcher.find());
System.out.println(“matches():”+matcher.group());
如果您只尝试一个,怎么能说“所有常规Expressio都匹配”?请告诉我们您对程序输出的期望,它实际打印的内容以及您不了解的内容。哦,读一下Matcher的java文档#matchesHow如果你只尝试一个,你能说“所有正则表达式都匹配”吗?请告诉我们您对程序输出的期望,它实际打印的内容以及您不了解的内容。哦,阅读Matcher的java文档#matches在我看来,OP并不是对它返回的是布尔值而不是匹配/找到的字符串感到困惑,或者想要返回匹配/找到的字符串。在我看来,OP并不是对返回布尔值而不是匹配/找到的字符串感到困惑,或者想要返回匹配/找到的字符串。