【发布时间】:2019-09-01 07:06:59
【问题描述】:
是否可以使用 notepad++(或者可能来自 linux bash shell)从找到的模式创建多行,与找到的模式一样多次,并在新创建的行中附加单个找到的模式?
多模式是val=[0-9]+
单一模式是id=[a-zA-Z0-9]+
例子:
输入行:
id=af2477,val=333,val=777
id=af3456,val=222,val=444,val=678
id=af3327,val=3234,val=123,val=701
输出线:
id=af2477,val=333
id=af2477,val=777
id=af3456,val=222
id=af3456,val=444
id=af3456,val=678
id=af3327,val=3234
id=af3327,val=123
id=af3327,val=701
我尝试了 2 个子组,但它不起作用。它只会替换第二组一次:
找到什么:(id=[a-zA-Z0-9]+,)(val=[0-9]+,)*
替换:\n\1,\2
更新:Toto 和 Wiktor Stribiżew 的两个答案似乎都能胜任。还没有测试它们。我仍然想看看如何使用 Notepad++(即使需要多个步骤)
【问题讨论】:
-
你是对的。更新的问题。
-
它看起来更像 Notepad++ 中的 hack,有两个正则表达式步骤解决方案。
awk看起来是更好的选择。