Pattern pSign = Pattern.compile("[-/+*]");和Pattern pSign = Pattern.compile("[+-*/]");
匹配得效果是不一样的,这可能与*号的特殊功能有关系吧!请各位分析一下,我是初次使用正则表达式。

解决方案 »

  1.   

    四则运算的匹配:Pattern pSign = Pattern.compile("[-/\\+\\*]");加号好像和*号都有特定的含义。
    具体详情请参见:Java API Documents
      

  2.   

    Pattern pSign = Pattern.compile("[-/+*]");这一句是正确的。能够正确的匹配
      

  3.   

    the key is to place - as the first character in [] because it's 
    regards as special character ( range) in []. other characters don't
    matter
      

  4.   

    + - * /都需要转义+表示正闭包,一个或多个
    *表示闭包,零个或多个
    -表示区间所以你需要用\转义,但是因为在java中处理字符串,需要\\转义