import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String args[]) { String str = "我有50元30元 1000元"; String regxChinese = "[/u4e00-/u9fa5]+"; String regxDigit = "//d+"; StringBuffer sb1 = new StringBuffer(); StringBuffer sb2 = new StringBuffer(); Pattern p1 = Pattern.compile(regxChinese); Pattern p2 = Pattern.compile(regxDigit); Matcher m1 = p1.matcher(str); Matcher m2 = p2.matcher(str); while (m1.find()) { sb1.append(m1.group() + " ");//输出所有汉字 } System.out.println(sb1); while (m2.find()) { sb2.append(m2.group() + " ");//输出所有数字 } System.out.println(sb2); } }