Выбор слова после определенного слова с помощью RegEx (Регулярное выражение) - PullRequest
2 голосов
/ 27 октября 2011

Короче говоря, я пытаюсь найти слово, которое следует за определенным словом.

Итак, у меня есть строка, которая

Name=James  
Age=55  
City=New York  

Теперь я хочу выбрать все после "Age =" , но не включая "Age =" .

Короче говоря, я хочу выбрать только "55" . В конце каждой строки есть символ новой строки. Теперь я посмотрел на Lookaround как
(?!(Age)).*\r

Что не работает.

открыт для предложений здесь.

Ответы [ 4 ]

1 голос
/ 27 октября 2011

То, что вы ищете, это "позитивный взгляд назад"

(?<=your pattern)

Это выглядит за текущим местоположением, и оно должно совпадать.

Итак, в вашем случае вы хотите сделать:

(?<=Age=).*$
0 голосов
/ 09 августа 2018

Ответ (?<=Age=)\w+

\ w соответствует любому символу слова (a-z, 0-9)

0 голосов
/ 27 октября 2011
"(?<=Age=).*$"

kent$ echo "Name=James  
dquote> Age=55  
dquote> City=New York "|grep -Po "(?<=Age=).*$"
55
0 голосов
/ 27 октября 2011

Попробуйте это:

(?<=Age=).*

Вы должны использовать взгляд назад.

Имейте в виду, что не все регулярные выражения имеют вид сзади (например, в Javascript - нет)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...