我有以下字符串:

CLASSIC STF
CLASSIC


我正在使用正则表达式来匹配字符串。

Pattern p = Pattern.compile("^CLASSIC(\\s*)$", Pattern.CASE_INSENSITIVE);


CLASSIC STF也正在显示。
正在使用m.find()
怎么可能只显示CLASSIC而不显示CLASSIC STF

感谢您的帮助。

最佳答案

如果使用Matcher.find(),则表达式CLASSIC(\s*)将匹配CLASSIC STF
但是,Matcher.matches()将返回false,因为它要求表达式匹配整个输入。

要使Matcher.find()相同,请将表达式更改为^CLASSIC(\s*)$,如reto所述。

关于java - 用正则表达式匹配精确字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20144729/

10-13 05:51