当前位置: 代码迷 >> J2SE >>   "main "   java.util.regex.PatternSyntaxException:
  详细解决方案

  "main "   java.util.regex.PatternSyntaxException:

热度:439   发布时间:2016-04-24 17:04:15.0
如何用正则表达式RE匹配...在...中...
判断一个句子是否跟“...在...中...”相匹配,
String   strSen= "这在班级中得到了实际应用。 ";
bReturn   =   strSen.matches( "[\u4e00-\u9fa5a-zA-Z]*在*中*应用[\u4e00-\u9fa5|.]* ");
这样就可以,可是换成bReturn   =   strSen.matches( "*在*中*应用* ");就不行,提示错误:
Exception   in   thread   "main "   java.util.regex.PatternSyntaxException:   Dangling   meta   character   '* '   near   index   0

望大家指教

------解决方案--------------------
bReturn = strSen.matches( "*在*中*应用* ");
第一个*前需要字符,可
修改为
bReturn = strSen.matches( "在*中*应用* ");

bReturn = strSen.matches( "[\u4e00-\u9fa5a-zA-Z]*在*中*应用* ");
------解决方案--------------------
strSen.matches( ".*在.*中.* ")
------解决方案--------------------
搂住估计把正则中的*号与Windows中的通配符*混淆了
Java正则中的*代表它前面匹配的元素出现的频率,而windows中*号代表可以匹配任何字符
关于Java正则可以在Java API 文档中找到详细信息
------解决方案--------------------
".*在.*中.* "
  相关解决方案