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开发包编写正则表达式程序。