我在正則表達式中很差。我搜索了一下,並對其有了基本的瞭解。Java中的模式匹配問題
我有以下要求: 我的命令可能包含一些帶有「$(VAR_NAME)」模式的字符串。我需要找出它是否有這種類型的字符串。如果是這樣,我必須解決這些問題(我知道我應該怎麼做,如果有這樣的字符串)。 但問題是,如何查找命令是否帶有「$(VAR_NAME)」模式的字符串。我的命令中可能有多個或零個這樣的字符串模式。
據我所知,我寫了下面的代碼。如果我使用,'pattern1'
,在下面的代碼中,它是匹配的。但是,不與'pattern'
有人可以幫助嗎?
預先感謝您。
final String command = "somescript.file $(ABC_PATH1) $(ENV_PATH2) <may be other args too here>";
final String pattern = "\\Q$(\\w+)\\E";
//final String pattern1 = "\\Q$(ABC_PATH1)\\E";
final Pattern pr = Pattern.compile(pattern);
final Matcher match = pr.matcher(command);
if (match.find())
{
System.out.println("Found value: " + match.group(0));
}
else
{
System.out.println("NO MATCH");
}
它正在工作。謝謝@Adam – CharanTej