我正在做一个需要数字模式匹配的项目。
例如,我想知道Value = 1331是否是680+651 = 1331的一部分,即我想将1331680+651 = 1331或任何其他给定的字符串进行匹配。
我第一次尝试在Java中进行模式匹配,但无法成功。以下是我的代码段。

String REGEX1=s1;   //s1 is '1331'
pattern = Pattern.compile(REGEX1);
matcher = pattern.matcher(line_out);   //line_out is for ex. 680+651 = 1331
System.out.println("lookingAt(): "+matcher.lookingAt());
System.out.println("matches(): "+matcher.matches());

它一直都在返回false。
请帮助我。

最佳答案

matches方法需要完全匹配的完美匹配。由于680+651=1331中的文本多于正则表达式1331匹配的文本,所以matchs返回false

正如我在Brian的帖子中所指出的那样,除非您要这么做,否则在正则表达式中需要小心以确保1331的正则表达式与213312的数字不匹配。

09-15 20:37