日期:2014-05-18  浏览次数:20685 次

正则表达式如何匹配
我想提取一窜数字之后的那个字符
比如

String strMoney ="48000万";
String regex ="[0-9_._,]+(.*?)";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(strMoney);
if(m.find()){

        moneyText = m.group(0);

        moneyLevel = m.group(1);

    }

提取出来的
moneyLevel 是空值 我想moneyLevel 赋值为“万”
不知道我的正则表达式哪里写的有问题,请高手指点!
回帖即给分! 
java 正则 正则表达式

------解决方案--------------------
public static void main(String[] args) {
String strMoney ="48054354545400万212121";
String regex ="[0-9_._,]+(.*?)+[\u4e00-\u9fa5]+[0-9_._,]+(.*?)";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(strMoney);
String moneyText="";
String moneyLevel="";
if(m.find()){
                moneyText = m.group(0);
                
                moneyLevel = m.group(1);
            }
System.out.println(moneyLevel+"========="+moneyText);
}
------解决方案--------------------

public static void main(String[] args) {
String strMoney ="48054354545400万";
String regex ="[0-9_._,]+(.*?)+[\u4e00-\u9fa5]";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(strMoney);
String moneyText="";
String moneyLevel="";
if(m.find()){
                moneyText = m.group(0);
                
                moneyLevel = m.group(1);