Regex 记事本++;正则表达式删除花括号之间的所有文本
我想删除{}之间的所有文本 结果应该是:Regex 记事本++;正则表达式删除花括号之间的所有文本,regex,notepad++,replace,Regex,Notepad++,Replace,我想删除{}之间的所有文本 结果应该是: 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);
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;
}
我试过了
function get_last_word($sentance){}
只有当花括号在同一行时,它才起作用
{+.*}
(?新版记事本++支持多行匹配(我现在使用的是6.1.3)
在“查找/替换”对话框的“正则表达式”单选按钮旁边,有一个名为“.matches newline”的复选框,表示多行匹配
然后,使用\{.*?\}
(这是一个不灵活的匹配)来实现您想要的
请注意,它与大括号不匹配
(?<=\{)[^}]+(?=\})
我会给你
foo {
bar {
blabalbla
}
xxx {
yyy
}
}
(我相信关于正则表达式中的大括号匹配还有其他问题,你可以看看,尽管我想知道它们在记事本++中是否有效)当你反复地用{[^{}]+\}
替换{{}
时,你应该没事了
您使用的是什么版本?我使用的是np++6.1.4,使用原始帖子中的精确文本进行了检查。多行匹配是主要问题,升级到最新版本问题已解决谢谢:)谢谢@Ω超级。这个表情对我帮助很大。即使我从来没有完全理解它的意思。@Bob-为了更好地理解,我在我的答案中添加了可视化。它说的是:将{
,后面跟一个或多个字符,然后是{
或}
,后面跟}
,替换为{}
,这对我来说更有意义。我曾尝试学习一点正则表达式,但从未以这种方式使用它们。这个解释很有启发性。再次感谢。
foo {}
xxx {
yyy
}
}