正则是英文加中文
[a-zA-Z]+[\\u4e00-\\u9fa5]+当要验证的String是abc啊,就能找到
但如果是abc啊def就,就不能找到js里面有个可以设置全局匹配的标志g,但是java里面怎么找全局的呢?

解决方案 »

  1.   

    改成这样就可以找到了:([a-zA-Z]|[\\u4e00-\\u9fa5])+
      

  2.   


    String regexp = "[a-zA-Z\\u4e00-\\u9fa5]+"
      

  3.   

    请写出你要匹配的格式的各种可能
    还是就只是
    abc啊
    abc啊def
    就这两种可能
      

  4.   

    string:abc啊def哦ghi什么
    我期望的结果是:
    得到一个数组,3个元素,分别是:abc啊,def哦,ghi什么
      

  5.   


    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);
      

  6.   

    public class Test {
        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();
            }
        }
    }
      

  7.   

    String regex = "\\w+[\\u4e00-\\u9fa5]+";