notepad ++正则表达式删除大括号之间的所有文本

ehm*_*d11 3 regex replace notepad++

function get_last_word($sentance){
    $wordArr = explode(' ', $sentance);
    $last_word = trim($wordArr[count($wordArr) - 1]);
    runDebug( __FILE__, __FUNCTION__, __LINE__, "Sentance: $sentance. Last word:$last_word",4);
    return $last_word;
}
Run Code Online (Sandbox Code Playgroud)

我要删除{}之间的所有文本结果应该是:

function get_last_word($sentance){}
Run Code Online (Sandbox Code Playgroud)

我试过了

{+.*}
Run Code Online (Sandbox Code Playgroud)

并且仅当大括号在同一行时才起作用

Adr*_*hum 10

较新版本的Notepad ++支持多行匹配(我现在使用的是6.1.3)

在"查找/替换"对话框中,"正则表达式"单选按钮旁边有一个名为".匹配换行符"的复选框,表示多行匹配.

然后,使用\{.*?\}(这是一个不合适的匹配)来实现你想要的.

请注意,它与您的大括号不符.例如

foo {
  bar {
    blabalbla
  }
  xxx {
    yyy
  }
}
Run Code Online (Sandbox Code Playgroud)

会给你

foo {}
  xxx {
    yyy
  }
}
Run Code Online (Sandbox Code Playgroud)

(我相信关于正则表达式中的大括号匹配还有其他问题,你可以看一下,不过我想知道它们是否能用于记事本++)


Ωme*_*ega 6

你应该罚款,当你只是更换\{[^{}]+\}{},反复...

正则表达式可视化