如何解决合并特定单词后的行,直到记事本++中的另一个特定单词
我一直在尝试将一个特定单词到另一个特定单词的行组合起来:
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)
合并行,但是没有运气。感谢您的帮助:)
解决方法
使用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
匹配换行符
^(.*[^'])(\n)
以您的示例为例。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。