Итак, у меня есть небольшая проблема
Вот мой текст
AFTER_2011/03/01 GREATER_2004_NOT
Я хочу ПОСЛЕ и БОЛЬШЕ, поэтому у меня есть следующее регулярное выражение:
[A-Z]{2,}\\B
ВСначала все в порядке, и я получаю ПОСЛЕ, но во второй раз я получаю всю строку.я пытался добавить '?'до и после, чтобы превратить его неохотно, я также попытался сделать его глобальным.у меня ничего не работаетв других случаях я использовал regex, он автоматически начинал поиск там, где последний раз останавливался, но не в этот раз.какие-либо предложения?
Редактировать: Итак, вот код, который я написал:
private void checkFilterNames(String[] sections){
_validityPatt = Pattern.compile("[A-Z]{2,}\\B");
boolean foundName;
for (int i=0; i<sections.length; i++){
_checker = _validityPatt.matcher(sections[i]);
_checker.find();
String currentName = sections[i].substring(1, _checker.end());
while (!currentName.equals("ACTION")){
foundName = false;
System.out.println("checking "+currentName);
for (int k=0; k<FilterManager.getNames().length; k++){
if (currentName.equals(FilterManager.getNames()[k])){
foundName = true;
break;
}
}
if (!foundName){
System.out.println("no such FILTER/ACTION/ORDER "+currentName);
System.exit(-1);
}
_checker.find();
currentName = sections[i].substring(1, _checker.end());
}
}
Так что это код.Я хочу изолировать ПОСЛЕ, а затем БОЛЬШОЙ.У меня была небольшая ошибка до первого цикла, я получаю «AFTER», а затем я получаю «AFTER_2011 / 03/01 GREATER»