需要找出两位整数(仅仅含两位数)
public void test1(){
// 只能找出38,78,91,但是我的代码找出了1190中的11,90和246中的24,求破
String s = "jf,ka38xf7kkkkfjfa1190;;;x246kj kj78mm91";
Pattern p = Pattern.compile("\\d{2}");
Matcher m = p.matcher(s);
while(m.find()){
System.out.println(m.group());
}
}
我代码有问题,正则表达式不会写了,请指教一下。
------解决思路----------------------
public static void test1(){
// 只能找出38,78,91,但是我的代码找出了1190中的11,90和246中的24,求破
String s = "51jf,ka38xf7kkkkfjfa1190;;;x246kj kj78mm91";
Pattern p = Pattern.compile("(?<=^
------解决思路----------------------
\\D)(\\d{2})(?=\\D
------解决思路----------------------
$)");
Matcher m = p.matcher(s);
while(m.find()){
System.out.println(m.group());
}
}
或者
public static void test2(){
// 只能找出38,78,91,但是我的代码找出了1190中的11,90和246中的24,求破
String s = "51jf,ka38xf7kkkkfjfa1190;;;x246kj kj78mm91";
Pattern p = Pattern.compile("(^
------解决思路----------------------
\\D)(\\d{2})(\\D
------解决思路----------------------
$)");
Matcher m = p.matcher(s);
while(m.find()){
System.out.println(m.group(2));
}
}
------解决思路----------------------
(?<!\\d)\\d{2}(?!\\d)用这个可以一次性~

------解决思路----------------------
(?<![\\d,.])[1-9]\\d(?![\\d,.])
此贴可以结了!
------解决思路----------------------
这个正则有点缺陷:如果出现小数或者01这样的也会匹配到
------解决思路----------------------
http://goobbe.com/questions/8146685/regex-match-digits-comma-and-semicolon