我有一個String,它是這樣的:正則表達式匹配的組有特殊字符
A20130122.0000+0000-0015+0000_name
然後我想提取這樣的信息:
的20130122.0000+0000-0015+0000
稍後將解析爲日期上。 而最後一部分是name
。
所以我在Java中使用這樣的事情:
String regexpOfdate = "[0-9]{8}\\.[0-9]{4}\\+[0-9]{4}-[0-9]{4}\\+[0-9]{4}";
String regexpOfName = "\\w+";
Pattern p = Pattern.compile(String.format("A(%s)_(%s)", regexpOfdate, regexpOfName));
Matcher m = p.matcher(theString);
String date = m.group(0);
String name = m.group(1);
但我得到一個java.lang.IllegalStateException: No match found
你知道我在做什麼錯?
謝謝,但它正在使用這個'String date = m.group(1); String name = m.group(2);' – Manuelarte
是的,這是正確的,我剛剛從OP複製該片段。 – anubhava
如果解決了這個問題,請不要忘記將答案標記爲已接受。 – anubhava