我是正则表达式的新手。我认为这会返回matched succesfully
,但事实并非如此。为什么会这样?
String myString = "SUB_HEADER5_LABEL";
if (myString.matches(Pattern.quote("SUB_HEADER?_LABEL")))
{
System.out.println("matched succesfully");
}
答案 0 :(得分:4)
Pattern.qoute()
将创建一个仅匹配完全给定String的模式。你需要
if (myString.matches("SUB_HEADER\\d_LABEL"))
如果您希望该数字超过9,请添加+
量词,如
if (myString.matches("SUB_HEADER\\d+_LABEL"))
如果你想匹配一个数字?
(在你的情况下意味着一个或零R
,因为它是一个量词)。您需要将其替换为[0-9]
或\\d
。