2015-03-02 6 views
0

Рассмотрите это JS Regex: /[A-Z][\w-](\s+[A-Z][\w-])?:/g Это выражение работает как ожидалось в JS.Несколько вхождений в JAVA Regex

Использование JAVA Я хотел бы соответствовать формату строки, как «WORD1 word2:»

Однако тот же регулярное выражение находит только первое совпадение, а затем останавливается в JAVA без модификатора/г. Любые идеи почему?

Pattern regex = Pattern.compile("^\\b([A-Z]\\w*)\\b$", Pattern.MULTILINE); 
Matcher regexMatcher = regex.matcher(mySampleText); 
if (regexMatcher.find()){..} 

ПРИМЕР ТЕКСТА:

Location: Why why why consultants earn between $35,000 -- $50,000 per year. 
Position Summary: Assist in-store customers with needs. General Duties:  
Greets customer on sales floor and determines type and quality. COMPENSATION: 
this salary... 

DESIRED ВЫВОД: Матч 1: "Позиция Резюме:" Матч 2: "Общие обязанности:" Матч 3: "КОМПЕНСАЦИИ:"

+0

Но нет ли слова 2 в КОМПЕНСАЦИИ? –

+0

Вы правы. Word 2 не является обязательным. Я пытаюсь найти все слова case case {1,} –

+0

, а затем почему вы не хотите 'Местоположение:' string? Добавьте более подробную информацию к своему сообщению. –

ответ

0

stated in the documentationMatcher.find() останавливается в первом матче. Но его можно вызвать несколько раз, пока он больше ничего не найдет, или счётчик будет сброшен.

Смежные вопросы