我如何使用regex
查找字符串“executeQuery”,但如果整个字符串有“vo”或“Viewobject”,则不能。
示例:
ResultSet rs = ps.executeQuery(); --> CORRECT
super.executeQueryForCollection(object, object1, i); --> CORRECT
voOEPoDEStruktura.executeQuery(); --> WRONG
ViewObject.executeQuery(); --> WRONG
答案 0 :(得分:3)
您不一定需要正则表达式。您可以改用contains
。你的情况是:
str.contains("executeQuery") && !(str.contains("vo") || str.contains("Viewobject"))
答案 1 :(得分:1)
^(?!.*(?:vo|ViewObject)).*executeQuery.*
是符合规范的正则表达式。我没有使用捕获组,因为你没有指定要捕获任何东西。
您应该使用包含的解决方案,因为它更容易理解。