求一个匹配千分位金额的正则表达式
现有一些字符串,如下:1:今天支出11,000元,我么还有2,200元。2:今天支出500元,我么还有500元。3:今天支出500.89元,我么还有100元。我现在需要一...
现有一些字符串,如下:1:今天支出11,000元 , 我么还有2,200元。2:今天支出500元 , 我么还有500元。3:今天支出500.89元 , 我么还有100元。我现在需要一个字符串匹配出“支出”和“元”之间的金额,如11,000 、500、 500.89;这些金额一定符合千分位金额表示法。求解,急需Pattern p = Pattern.compile("^\\S*支出(([0-9]+,)*[0-9]+)元\\S*$");Matcher m = p.matcher("今天支出11,000元 , 我么还有2,200元。");这样写匹配不出来或者不全。
展开
展开全部
function NumberRenderer(params) {
if (params.value === null || params.value === undefined) {
return null;
} else if (isNaN(params.value)) {
return 'NaN';
} else {
num = params.value.toString(); //将输入的数字转换为字符串
if(/^-?\d+\.?\d+$/.test(num)){ //判断输入内容是否为整数或小数
if(/^-?\d+$/.test(num)){ //判断输入内容是否为整数
num =num.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");//对其进行分割
}else{
num_array=num.split(".");//如果是小数就根据"."拆分成两个数组,整数部分和小数部分,对整数部分进行千分位处理,再合并小数部分
num_before=num_array[0].replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");
num=num_before+"."+num_array[1];
}
}
return num;
}
}
if (params.value === null || params.value === undefined) {
return null;
} else if (isNaN(params.value)) {
return 'NaN';
} else {
num = params.value.toString(); //将输入的数字转换为字符串
if(/^-?\d+\.?\d+$/.test(num)){ //判断输入内容是否为整数或小数
if(/^-?\d+$/.test(num)){ //判断输入内容是否为整数
num =num.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");//对其进行分割
}else{
num_array=num.split(".");//如果是小数就根据"."拆分成两个数组,整数部分和小数部分,对整数部分进行千分位处理,再合并小数部分
num_before=num_array[0].replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");
num=num_before+"."+num_array[1];
}
}
return num;
}
}
2013-09-19
展开全部
[mw_shl_code=java,true]String s = "今天支出11,000元 , 我么还有2,200元。";Pattern p = Pattern.compile("支出\\d*(,\\d{3})元");Matcher m = p.matcher(s);while(m.find()){ System.out.println(m.group());}[/mw_shl_code]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询