正则是英文加中文
[a-zA-Z]+[\\u4e00-\\u9fa5]+当要验证的String是abc啊,就能找到
但如果是abc啊def就,就不能找到js里面有个可以设置全局匹配的标志g,但是java里面怎么找全局的呢?
[a-zA-Z]+[\\u4e00-\\u9fa5]+当要验证的String是abc啊,就能找到
但如果是abc啊def就,就不能找到js里面有个可以设置全局匹配的标志g,但是java里面怎么找全局的呢?
String regexp = "[a-zA-Z\\u4e00-\\u9fa5]+"
还是就只是
abc啊
abc啊def
就这两种可能
我期望的结果是:
得到一个数组,3个元素,分别是:abc啊,def哦,ghi什么
String str="abc啊def哦ghi什么";
Matcher m=Pattern.compile("\\w+[\\u4e00-\\u9fa5]+").matcher(str);
List<String> list=new ArrayList<String>();
while(m.find())
list.add(m.group());
String[] rtn=new String[list.size()];
list.toArray(rtn);
for(String i:rtn)
System.out.println(i);
public static void main(String[] args) {
Pattern p = Pattern.compile("[a-zA-Z]+[\\u4e00-\\u9fa5]+", Pattern.MULTILINE);
Matcher m = p.matcher("abc啊def哦ghi什么");
boolean found = m.find();
while (found) {
System.out.println(m.group());
found = m.find();
}
}
}