我想寫一個像%etd(msg01)
字符串的正則表達式。%etd(msg01)正則表達式?
String string = "My name is %etd(msg01) and %etd(msg02)";
Pattern pattern = Pattern.compile("%etd(.+)");
Matcher matcher = pattern.matcher(string);
while(matcher.find()) {
System.out.println(matcher.group());
}
它打印%etd(msg01) and %etd(msg02)
。但是,我希望它分別打印%etd(msg01)
%etd(msg02)
。我的意思是我在尋找非貪婪的比賽。
在這種情況下,應如何改變正則表達式以使其不貪婪?
如果你知道你正在尋找一個非貪婪的比賽,你爲什麼不寫使用一個正則表達式? –
@ user1661951你試過解決方案嗎? – anubhava