java搜索中的正则表达式

时间:2012-01-12 13:58:22

标签: java regex

我如何使用regex查找字符串“executeQuery”,但如果整个字符串有“vo”或“Viewobject”,则不能。

示例:

ResultSet rs = ps.executeQuery(); --> CORRECT
super.executeQueryForCollection(object, object1, i); --> CORRECT
voOEPoDEStruktura.executeQuery(); --> WRONG
ViewObject.executeQuery(); --> WRONG

2 个答案:

答案 0 :(得分:3)

您不一定需要正则表达式。您可以改用contains。你的情况是:

str.contains("executeQuery") && !(str.contains("vo") || str.contains("Viewobject"))

答案 1 :(得分:1)

^(?!.*(?:vo|ViewObject)).*executeQuery.*是符合规范的正则表达式。我没有使用捕获组,因为你没有指定要捕获任何东西。

您应该使用包含的解决方案,因为它更容易理解。