Regex 合并相邻线路

Regex 合并相邻线路,regex,Regex,我需要结合以下内容: "1381733226.6811","Form1","your-email","example1@gmail.com","1",NULL "1381733226.6811","Form1","your-subject","foo1","2",NULL "1381733868.4487","Form1","your-email","example2@gmail.com","1",NULL "1381733868.4487","Form1","your-subject","fo

我需要结合以下内容:

"1381733226.6811","Form1","your-email","example1@gmail.com","1",NULL
"1381733226.6811","Form1","your-subject","foo1","2",NULL
"1381733868.4487","Form1","your-email","example2@gmail.com","1",NULL
"1381733868.4487","Form1","your-subject","foo2","2",NULL
"1381734307.5494","Form1","your-email","example3@gmail.com","1",NULL
"1381734307.5494","Form1","your-subject","foo3","2",NULL
"1381735753.0189","Form1","your-email","example4@gmail.com","1",NULL
"1381735753.0189","Form1","your-subject","foo4","2",NULL
为此:

example1@gmail.com - foo1
example2@gmail.com - foo2
example3@gmail.com - foo3
example4@gmail.com - foo4
有些线路“不好”,应该避免使用。例如:

"1387658626.6811","Form1","your-email","example1@gmail.com","1",NULL
"1381124126.1211","Form1","your-subject","foo1","2",NULL
或:

我已经尝试过改变这一点:

"\d+?\.\d+?","Form1","your-email","([^\r\n])*","1",NULL\r?\n"\d+?\.\d+?","Form1","your-subject","([^\r\n])*","2",NULL)
为此:

$1 - $2

但我失败了,它不起作用:/。你有什么想法吗?

你可以使用这个正则表达式,这是正则表达式的正确形式:

"(?<id>\d+?\.\d+?)","Form1","your-email","([^"]*)","1",NULL\r?\n"\k<id>","Form1","your-subject","([^"]*)","2",NULL
我将内容选择修改为
([^“]*)
,以确保它只匹配正确的内容,并在选择中传递了*


修改正则表达式以验证两行中的ID是否相同。

编程语言?
"(?<id>\d+?\.\d+?)","Form1","your-email","([^"]*)","1",NULL\r?\n"\k<id>","Form1","your-subject","([^"]*)","2",NULL
$2 - $3