编写Java正则表达式

求婚

我在编写Java正则表达式时遇到问题,这是匹配字符串的要求:

  • ' or abc : 比赛
  • X' or abc : 比赛
  • Good X' or abc : 比赛
  • Good 'X' or abc : 不匹配

我正在使用java.util.regex.Pattern和java.util.regex.Matcher。match表示java.util.regex.Matcher.matches()返回true。

这是我写的正则表达式:".*((((?<!\\')[^\\s\\']+))[\\'\\s]+(or|and)).*"但这是行不通的。

对于我的应用程序中的某些要求,我必须在正则表达式的开头和结尾使用“。*”

我是regex的新手,有人可以帮助我吗?

谢谢。

简·哈拉沙(JánHalaša)

如果必须在表达式的开头使用。*,则此方法适用:

".*(?=(?<!Good 'X)' or abc$).*"

诀窍是它使用“(??”以“'或abc”结尾的表达式来向前看,但前面没有“ Good'X”-在“(??!”后面使用负向后缀。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章