2015-10-05 2 views
-2

Я довольно новичок в RegExs, и я никогда не могу обернуть голову вокруг этих вещей. "WORD: 21.889236 21.889236 0" Я пытаюсь восстановить Слово и 3 числа после этого в полной форме, все десятичные знаки целы. Это также будет запущено через файл с несколькими вхождениями. Там также будут такие строки «WORD: 1,0 1,0 0»Регулярное выражение в соответствии с [WORD]: [number] [number] [number]

(\\w+):.([\\d[0-9].{8}).(\\d[0-9].{6})..(\\d[0-9]) 

Это дает мне ошибку внутри затмения.

+1

Try тестирование в https: // regex101. com /. – shoover

+1

С этим регулярным выражением больше неправильного. Возможно, вам следует начать с изучения учебника? – Biffen

ответ

1

Вы можете использовать это регулярное выражение:

\b(\w+):\s*(?:\d+(?:.\d+)?\s*){3} 

При использовании Java:

"\b(\w+):\\s*(?:\\d+(?:.\\d+)?\\s*){3}" 

RegEx Demo

Распад:

\b   # word boundary 
(\w+)  # match a word 
:   # match literal : 
\s*   # match 0 or more white-spaces 
(?:   # start non-capturing group 1 
    \d+  # match 1 or more digits 
    (?:  # start non-capturing group 2 
     .  # match a decimal point 
     \d+ # match 1 or digits 
    )?  # end non-capturing group 2 and make it optional 
    \s*  # match 0 or more white-spaces 
){3}  # end non-capturing group 2 and repeat it 3 times 
Смежные вопросы