我有一个由多行组成的字符串(来自powershell的输出),如
....
junk line
junk line
MyVaraible=xxxx
junk line
junk line
....
我需要使用一个正则表达式去除所有垃圾行并提取变量值。
如果我可以循环通过我可以做的所有行,这是非常容易的
"MyVaraible=(\d+)"
替换为"$1"
但我受到这个古老系统的超级限制,我只允许做一次正则表达式替换。
答案 0 :(得分:1)
您可以使用此基于正则表达式的替换。
使用此正则表达式进行搜索:
/^\w+=(.*)$|.*(\n|\z)/
使用反向引用替换:
$1
RegEx ^\w+=(.*)$|.*(\n|\z)
匹配由=
分隔的名称 - 值对,或者匹配整行后跟换行符或字符串结尾。