@Test
public void test() {
Pattern pattern = Pattern.compile("\"(\\w+)\":\"(\\w+)\"");
Matcher m = pattern.matcher("\"KEY\":\"VAL\"");
m.group(1);
}
请问这个正则为什么无法匹配. 脑子进猪油了,现在
@Test
public void test() {
Pattern pattern = Pattern.compile("\"(\\w+)\":\"(\\w+)\"");
Matcher m = pattern.matcher("\"KEY\":\"VAL\"");
m.group(1);
}
请问这个正则为什么无法匹配. 脑子进猪油了,现在
因为'\'和'"'(双引号)是需要要转义符的'\'的.像下面写就能行了.
Pattern pattern = Pattern.compile("\\\"(\\w+)\\\":\\\"(\\w+)\\\"");
Matcher m = pattern.matcher("\"KEY\":\"VAL\"");
//m.group(1);
if(m.find()){
System.out.println(m.group(1));
}
8 回答6.5k 阅读
4 回答697 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答968 阅读✓ 已解决
你的表达式没什么问题,只是你得先调
m.find()
再取m.group(1)