我想對陣的格局以下字符串:獲取更多字符匹配組內比預期
String s = "AAA|VY~1055~ ~~BCN~09/24/2012~";
Matcher m = Pattern.compile("(.*)\\|VY\\~(.*)\\~").matcher(s);
if (m.find())
{
String value = m.group(2);
System.out.print("value = " + value);
}
輸出是:
value = 1055~ ~~BCN~09/24/2012
但我想這一點:
value = 1055
爲什麼直到字符串結尾都會得到所有字符?
我讀過一些關於消耗到字符串的結尾,我已經試過:
Matcher m = Pattern.compile("(.*)\\|VY\\~(.*)\\~(.*)").matcher(s);
Matcher m = Pattern.compile("(.*)\\|VY\\~(.*)\\~.*").matcher(s);
但它不工作。
任何人都可以幫助我嗎?
你是否需要在java正則表達式中轉義'〜's? – Eric