Я хочу получить часть строки, содержащую одно из целевых слов. Так, например, из следующего примера строки:Java регулярное выражение, чтобы получить часть строки
...
def a:
...
target1
...
def b:
...
def c:
...
Я хочу, чтобы получить эту часть:
def a:
...
target1
...
Вот мой Java код:
s = "(def\\W(.*)\\W(target1|target2|target3)\\W(.*)def\\W)";
Pattern p = Pattern.compile(s);
Matcher m = p.matcher(sourceString);
while(m.find()){
System.out.println(m.group(0));
}
Проблема заключается в том, что она не узнайте что-нибудь.
Большое вам спасибо за помощь!
И ваш вопрос? В чем проблема с вашим кодом? – tnw
@tnw В настоящий момент код ничего не распечатывает. – Ryan
@Ryan .. Я не уверен, что это сработает для вас, но вы можете попробовать что-то вроде «(def. * (Target1 | target2 | target3))» – digidude