Как я могу сопоставить текст для нескольких шаблонов, не сканируя его несколько раз?JAVA

Программисты JAVA общаются здесь
Anonymous
Как я могу сопоставить текст для нескольких шаблонов, не сканируя его несколько раз?

Сообщение Anonymous »

Я хочу сопоставить несколько шаблонов в заданных входных строках, поэтому результатом будет список, содержащий все подстроки, которые соответствуют любым из моих предопределенных шаблонов: < /p>

String input = "Episode_NN 3_CD was_XX awesome_XX";

final Pattern ruleOne = Pattern.compile("(\\w*_NN\\s|\\w*_NNS\\s)+\\w*_CD");
final Pattern ruleTwo = Pattern.compile(ruleOne.pattern().concat(""));

Matcher matcher = ruleOne.matcher(input);

List ent = new ArrayList();

while (matcher.find()) {
ent.add(matcher.group());
}
< /code>

Так мне нужно добавить несколько сопоставителей? Это означало бы сканирование текста несколько раз, например, так: < /p>

while (matcherOne.find() | matcherTwo.find() | ...) {
....
}


Подробнее здесь: https://stackoverflow.com/questions/307 ... iple-times

Вернуться в «JAVA»