我想提取一窜数字之后的那个字符
比如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正则正则表达式
比如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正则正则表达式
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);
}
System.out.println(moneyLevel+"========="+moneyText);
}
String regex = "([0-9_._,]+|[a-zA-Z]+)";
String[] str = strMoney.split(regex);
System.out.println(str[1]);
String regex = "\\D+";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(strMoney);
if (m.find()) {
System.out.println(m.group(0));
}
}
[\u4e00-\u9fa5]+(.*?) 表示汉字+后面为汉字的要第一个 不加(.*?) 就可以了
String strMoney ="48054354545400万玩";
String regex ="[\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);
}
System.out.println(moneyLevel+"========="+moneyText);
}
public static void main(String[] args) throws Exception { String strMoney = "48000万数字";
Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
Matcher matcher = p.matcher(strMoney);
if (matcher.find()) {
System.out.println(matcher.group());
}
}
我应该写“数字48000万数字”……
我只想取“万” public static void main(String[] args) throws Exception { String strMoney = "啊数aa字48000万sxx数字";
Pattern pattern = Pattern.compile("(\\D*)(\\d*)([\u4e00-\u9fa5]).*");
Matcher matcher = pattern.matcher(strMoney);
if (matcher.find()) {
System.out.println(matcher.group(3));
}
}
我应该写“数字48000万数字”……
我只想取“万” public static void main(String[] args) throws Exception { String strMoney = "啊数aa字48000万sxx数字";
Pattern pattern = Pattern.compile("(\\D*)(\\d*)([\u4e00-\u9fa5]).*");
Matcher matcher = pattern.matcher(strMoney);
if (matcher.find()) {
System.out.println(matcher.group(3));
}
}
非常非常的感谢!