Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 替换记事本中的行++_Regex_Notepad++ - Fatal编程技术网

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。