Я пытаюсь сопоставить некоторый код Java, в котором есть несоответствующие строки. Например, у меня есть следующий блок кода, который я хочу сопоставить:
protected String methodName(String args[]) {
final String METHOD = "wrongMethodName";
...
}
И следующий блок кода I не хочу сопоставить
protected String methodName(String args[]) {
final String METHOD = "methodName";
...
}
Прямо сейчас у меня есть следующее (не работающее) регулярное выражение, для которого требуется включение DOTALL:
(\w+?)\(.*?\) ?{.*?METHOD *= *".*?";
Если я попытаюсь сделать отрицательный взгляд сзади с группой захвата, регулярное выражение не скомпилируется, потому что размер взгляда позади неизвестен ранее.
java.util.regex.PatternSyntaxException:
Look-behind group does not have an obvious maximum length near index 39
Есть ли способ использовать группу захвата в этом регулярном выражении, чтобы сказать, что я хочу сопоставить строки, которые не соответствуют группе захвата?