Шаблон Java выяснить, какая часть или сопоставленаJAVA

Программисты JAVA общаются здесь
Anonymous
Шаблон Java выяснить, какая часть или сопоставлена

Сообщение Anonymous »

У меня есть следующий шаблон: < /p>

Pattern TAG = Pattern.compile("()|()");
< /code>

Обратите внимание на | в шаблоне. < /p>

, и у меня есть метод, который выполняет некоторую обработку с этим шаблоном < /p>

private String format(String s){
Matcher m = TAG.matcher(s);
StringBuffer sb = new StringBuffer();

while(m.find()){
//This is where I need to find out what part
//of | (or) matched in the pattern
// to perform additional processing

}
return sb.toString();
}
< /code>

Я хотел бы выполнять различные функции в зависимости от того, какая часть или сопоставлена ​​в
regex. Я знаю, что я могу разбить шаблон на 2 разных шаблона и соответствовать каждому, но это не то решение, которое я ищу, потому что моя реальная регулярная эксплуатация гораздо сложнее, и функциональность, которую я пытаюсь выполнить, будет работать лучше всего, если я смогу сделать это в одной петле и режиме. Итак, мой вопрос: < /p>

Есть ли способ в Java для выяснения, какая часть или сопоставлена ​​в Regex? Это не работает для моего дела. Пример ниже
печатает и , поэтому для первой итерации цикла, который он соответствует
и вторая итерация, она соответствует . Однако мне нужно знать, какая часть соответствует каждой итерации. < /P>

static Pattern u = Pattern.compile("|");

public static void main(String[] args) {
String xml = "044453";

Matcher m = u.matcher(xml);

while (m.find()) {
System.out.println(m.group(0));
}
}


Подробнее здесь: https://stackoverflow.com/questions/173 ... or-matched

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