首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

问个关于正则的有关问题

2012-01-26 
问个关于正则的问题Stringsrc你好1,234你好 Stringregex好([0-9|,]*)你 PatternpPattern.compile

问个关于正则的问题
String       src           =       "你好1,234你好 ";    
String       regex       =       "好([0-9|,]*)你 ";    
Pattern       p=       Pattern.compile(regex);    
Matcher       m       =       p.matcher(       src);    
    while(m.find()){    
    String       s       =       m.group();    
    System.out.println(s);      
    }

这样我能够得到   好1,234你
但是我只想得到   1,234
应该怎么写呢?是要该我的正则还是有什么实现这个的专门类?


[解决办法]
import java.util.Date;
import java.util.regex.*;
public class test{
public static void main(String[] args)
{
String src = "你好1,234你好 ";
String regex = "\\d,\\d{3} ";
Pattern p= Pattern.compile(regex);
Matcher m = p.matcher(src);
while(m.find()){
String s = m.group();
System.out.println(s);
}
}

}
不知道是不是这样写哦 我是新手
[解决办法]
输出group(1)即可
[解决办法]
String regex = "好?([0-9|,]*)你? ";

“好”, “你”可以没有或者只有一个
[解决办法]
jdk中自带正则表达式的开发包,在java.util.regex包中,但功能很少,推荐使用jakarta-oro开发包编写正则表达式程序。

热点排行