我一直在尝试将一个特定单词到另一个特定单词的行组合起来:
EOD++::N'
GSM
+
38
+
38
+
32
+
1
'
USF+1+ABCDEFGH'
输出应为:
EOD++::N'
GSM+38+38+32+1'
USF+1+ABCDEFGH'
我尝试使用正则表达式 (\+)\n([0-9]{1,2})\n)
合并行,但是没有运气。感谢您的帮助:)
答案 0 :(得分:0)
使用GSM
锚在字符串开头匹配\G
后,可以获得所有连续的匹配项。您可以将值保留在捕获组中,并在它们之间匹配换行符,以使它们不属于替换行。
查找内容:
(?:^GSM\K\R(?=[\r\n+0-9]+\R')|\G)(\+)\R([0-9]{1,2})\R
替换为:
$1$2
说明
(?:
非捕获组
^GSM\K\R
匹配GSM,然后\K
会忘记当前匹配的内容,然后匹配换行符(?=[\r\n+0-9]+\R')
正向前进,断言以下是允许的字符,换行符'
|
或\G
在上一场比赛的末尾或开始时声明位置)
关闭群组(\+)
捕获第1组,匹配+ \R
匹配换行符([0-9]{1,2})
捕获第2组,匹配1-2位数字\R
匹配换行符答案 1 :(得分:-1)
^(.*[^'])(\n)
以您的示例为例。