2

简而言之,我正在尝试匹配特定单词之后的单词。

所以我有一个字符串

Name=James  
Age=55  
City=New York  

现在我想选择"Age="之后的所有内容,但不包括"Age="

所以简而言之,我只想选择"55"。每行末尾都有新的行字符。现在我已经查看了 Lookaround
(?!(Age)).*\r

这是行不通的。

在这里接受建议。

4

4 回答 4

1

您正在寻找的是“积极的向后看”

(?<=your pattern)

这看起来在当前位置的后面,它需要匹配。

所以在你的情况下,你想做:

(?<=Age=).*$
于 2011-10-27T14:57:19.577 回答
0

试试这个:

(?<=Age=).*

你必须使用lookbehind。

请注意,并非所有正则表达式都有后视(例如 Javascript 没有)

于 2011-10-27T14:56:36.480 回答
0
"(?<=Age=).*$"

kent$ echo "Name=James  
dquote> Age=55  
dquote> City=New York "|grep -Po "(?<=Age=).*$"
55
于 2011-10-27T14:56:55.570 回答
0

答案是 (?<=Age=)\w+

\w 匹配任何单词字符 (az,0-9)

于 2018-08-09T13:26:46.823 回答