регулярное выражение в поиске Java - PullRequest
0 голосов
/ 12 января 2012

Как я могу с помощью regex найти строку "executeQuery", но только если вся строка содержит "vo" или "Viewobject".

Примеры:

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

Ответы [ 2 ]

3 голосов
/ 12 января 2012

Вам не обязательно нужно регулярное выражение.Вы можете использовать contains вместо этого.Ваше состояние будет:

str.contains("executeQuery") && !(str.contains("vo") || str.contains("Viewobject"))
1 голос
/ 12 января 2012

^(?!.*(?:vo|ViewObject)).*executeQuery.* - это регулярное выражение, которое будет соответствовать спецификациям. Я не использовал группы захвата, потому что вы не указали, что хотите что-то захватывать.

Вы должны использовать решение с контейнером, потому что его легче понять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...