简而言之,我正在尝试匹配特定单词之后的单词。
所以我有一个字符串
Name=James
Age=55
City=New York
现在我想选择"Age="之后的所有内容,但不包括"Age="。
所以简而言之,我只想选择"55"。每行末尾都有新的行字符。现在我已经查看了 Lookaround
(?!(Age)).*\r
这是行不通的。
在这里接受建议。
简而言之,我正在尝试匹配特定单词之后的单词。
所以我有一个字符串
Name=James
Age=55
City=New York
现在我想选择"Age="之后的所有内容,但不包括"Age="。
所以简而言之,我只想选择"55"。每行末尾都有新的行字符。现在我已经查看了 Lookaround
(?!(Age)).*\r
这是行不通的。
在这里接受建议。
您正在寻找的是“积极的向后看”
(?<=your pattern)
这看起来在当前位置的后面,它需要匹配。
所以在你的情况下,你想做:
(?<=Age=).*$
试试这个:
(?<=Age=).*
你必须使用lookbehind。
请注意,并非所有正则表达式都有后视(例如 Javascript 没有)
"(?<=Age=).*$"
kent$ echo "Name=James
dquote> Age=55
dquote> City=New York "|grep -Po "(?<=Age=).*$"
55
答案是
(?<=Age=)\w+
\w 匹配任何单词字符 (az,0-9)