Я хочу сопоставить выражение сразу после новой строки. Я использую gnu.regexp и с флагом REG_MULTILINE.
Вот строка, которую я хочу проверить
Hello
Dude
Мой подход - использовать это регулярное выражение для сопоставления.
String strRegExp = "^[Dd][Uu][Dd]";
Но это не работает. Не вижу, где проблема.
Я запускаю все это в простом модульном тесте:
@Test
public void testREMatchAtStartOfNewLine()
throws Exception {
String strRegExp = "^[Dd][Uu][Dd]";
int flags = RE.REG_MULTILINE;
String strText ="Hello\nDude";
RE re = new RE(strRegExp, flags, RESyntax.RE_SYNTAX_PERL5);
REMatch match = re.getMatch (strText);
String strResult = "";
if (match != null) {
strResult = match.substituteInto ("$0");
}
assertEquals("Match at start of new line ", "Dud", strResult); // FAILS
}
Спасибо заранее.
редактировать:
Чтобы уточнить, я использую следующий импорт:
import gnu.regexp.RE;
import gnu.regexp.REMatch;
import gnu.regexp.RESyntax;