将不同正则表达式的结果合并在一行中

时间:2015-08-27 13:23:04

标签: regex

我想知道如何在一行中组合不同正则表达式的结果。以下是我正在使用的文本文件的示例内容。

#SET Account = a123-k
#SET Name = Tom Alek
#SET Account = hb15354j
#SET Name = Alex Payne
#SET Account = gd123-ff
#SET Name = Jerry Timbol

我只能用

一次输出一个
regex = "#SET Account = ([^\n]+)\s"
regex = "#SET Name = ([^\n]+)\s"

我想要的输出位于带有“,”分隔符的csv文件中。

a123-k,Tom Alek hb15354j,Alex Payne gd123-ff,Jerry Timbol

这是否可以通过使用正则表达式模式搜索来实现,还是需要创建像PowerShell这样的程序?

1 个答案:

答案 0 :(得分:0)

如果所有值都遵循相同的模式,您可以这样做:

regex = "^#SET (?:Account|Name) = ([^\n]+)$"

(?:...)是非捕获括号。他们允许您在不创建捕获组的情况下对项目进行分组。

Demo.