Java正则表达式判断字符串中不包含[]的标点符号

Java正则表达式判断字符串中不包含[]的标点符号
算出不包含[]的标点符号的数量
最新回答
孤我为王

2024-06-26 03:38:59

    String s1 = "[dssdfgfdg";
    String s2 = "]23adsa";
    String s3 = "23adsa";
    System.out.println(s1.matches(".*[\\[\\]].*")==true?"包含":"不包含");
    System.out.println(s2.matches(".*[\\[\\]].*")==true?"包含":"不包含");
    System.out.println(s3.matches(".*[\\[\\]].*")==true?"包含":"不包含");
追问
我的意思找出一个字符串中的所有标点符号  并且这些标点符号不是[ 或者] 比如ssss,[]ssss  得到的结果就是1
追答

好吧~~~那你下次要表达清楚哦~~~~早这么说就好了嘛~

String str = "abcdfd[fs,,,,abcdf,dsf abc fdfdabc:abc";
    //1. 用这则表达式处理, 不过好像一点都不省事.. 
    Pattern p = Pattern.compile("[(\\pP|\\pS)&&[^\\[\\]]]");
    Matcher m = p.matcher(str);
    int count = 0;
    while(m.find()){
          count ++;
    }
    System.out.println("标点符号个数 : " + count);