我在编写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的新手,有人可以帮助我吗?
谢谢。
如果必须在表达式的开头使用。*,则此方法适用:
".*(?=(?<!Good 'X)' or abc$).*"
诀窍是它使用“(??”以“'或abc”结尾的表达式来向前看,但前面没有“ Good'X”-在“(??!”后面使用负向后缀。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句