LINUX.ORG.RU

Помогите с регэкспом


0

0

Есть строка, содержащая 10 слов, раделенных пробелами (в начале строки также может быть пробел, а может и не быть). Нужно вытащить цифры из 7-го по счёту слова.

anonymous

Если я правильно понял, что ты хочешь - то вот решение на Ruby:

str.split[6].split('').grep(/\d/).join

Hjorn
()
Ответ на: комментарий от Hjorn

спасибо, принцип понятен, но мне бы это стандартными средствами решить (баш или перл/пайтон на худой конец)

anonymous
()
Ответ на: комментарий от anonymous

cat hhh | perl -e 'while(<STDIN>){/[\w+\s]{6}\D*(\d*)/;print $1;}'

Deleted
()
Ответ на: комментарий от anonymous

Не совсем правильно работает, но я понял google perl regular expressions

anonymous
()
Ответ на: комментарий от anonymous

а можешь написать без split, т.е. решить задачу в один регексп, который хоть в перл хоть в javascript можно будет поставить?

anonymous
()
Ответ на: комментарий от anonymous

echo "one two three four five six seven123withdigits nine ten" | \
  perl -ne '/^s*(?:\S+\s+){6}\S*?(\d+)/ && print "$1\n"';
123

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.