Получить слово после сопоставления с определенным выражением - PullRequest
1 голос
/ 12 июня 2011

Я пытаюсь получить слово "1.23" из этой строки.

Строка:

"1 USD в SGD 1.23".

Я знаю, что регулярное выражение можетнайти слова, но я хочу получить число после SGD, которое является "1.23".

Спасибо.

Ответы [ 2 ]

1 голос
/ 12 июня 2011

Работает с -P (для Perl regular expression):

grep -P "(?<=\bSGD)\s*1\.23"
1 голос
/ 12 июня 2011

Регулярное выражение может быть примерно таким: \bSGD\s+(\d+(?:\.\d+)?), но что работает с grep, я не уверен.

С помощью perl вы можете делать подобные вещи:

cat foo.txt | perl -n -e '/\bSGD\s+(\d+(?:\.\d+)?)/ && print "$1\n"'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...