我正在做一个需要数字模式匹配的项目。
例如,我想知道Value = 1331
是否是680+651 = 1331
的一部分,即我想将1331
与680+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
的数字不匹配。