Regex 替换记事本中的行++
我想转换如下内容:Regex 替换记事本中的行++,regex,notepad++,Regex,Notepad++,我想转换如下内容: bitte ---------- dream ---------- ---------- HD ---------- ready ---------- bitte:dream HD:ready 变成这样的东西: bitte ---------- dream ---------- ---------- HD ---------- ready ---------- bitte:dream HD:ready 使用正则表达式。使用什么正则表达式?如何将所有
bitte
----------
dream
----------
----------
HD
----------
ready
----------
bitte:dream
HD:ready
变成这样的东西:
bitte
----------
dream
----------
----------
HD
----------
ready
----------
bitte:dream
HD:ready
使用正则表达式。使用什么正则表达式?如何将所有这些行放在一起?您可以使用类似regex的
^(?:---+\R\s*)*(\w.*)\R---+\R(?:\h*\R)*(\w.*)\R---+$
换成1美元:2美元
^匹配行首,?:--+\R\s**匹配第一个非空行之前的可选分隔符行,\w.*组1捕获一个单词字符,后跟0+字符,而不是换行符,\R-->+\R匹配一个换行符,后跟3+连字符和换行符,:\h*\R*匹配n个空行,\w.*如上所述,\R-->$匹配换行符和行尾的3+连字符
为什么不用--{3,}代替--+?我发现--+是一个更可读的子模式。事实上,如果它是固定的,它可以用-{n}替换为带有确切连字符数的OP。