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
应该怎么写呢?是要该我的正则还是有什么实现这个的专门类?

解决方案 »

  1.   

    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);   
       }
    }}
     不知道是不是这样写哦 我是新手
      

  2.   

    String regex = "好?([0-9|,]*)你?"; “好”, “你”可以没有或者只有一个
      

  3.   

    jdk中自带正则表达式的开发包,在java.util.regex包中,但功能很少,推荐使用jakarta-oro开发包编写正则表达式程序。
      

  4.   

    因为我要截取的源字符串中,是可能有1,234这种形式的字符的,但是我就是想要 你1,234好 这样形式字符里面的 1,234
    可能几个朋友的方法都不行
    我去看看kakarta-oro吧 希望有好办法
      

  5.   

    楼主自己那个我让你输出group(1)怎么不行了?