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

标签 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);
    return $last_word;
}

我想删除 {} 之间的所有文本
结果应该是:
function get_last_word($sentance){}

我试过了
{+.*}

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

最佳答案

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

在 Find/Replace 对话框中,在“Regular Expression”单选按钮旁边,有一个名为“.matches newline”的复选框,表示多行匹配。

然后,使用 \{.*?\} (这是一个非贪婪的匹配)来实现你想要的。

请注意,它与您的大括号不匹配。例如

foo {
  bar {
    blabalbla
  }
  xxx {
    yyy
  }
}

会给你
foo {}
  xxx {
    yyy
  }
}

(我相信 SO 中还有其他关于正则表达式中括号匹配的问题,您可以看看,尽管我想知道它们是否可以在 Notepad++ 中使用)

关于regex - notepad++ 正则表达式删除大括号之间的所有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11679753/

相关文章:

python - 尝试通过添加更多键 :value pairs 来增加嵌套字典

javascript - 解决以下问题的正则表达式是什么?

python - 使用 Python 脚本在 Notepad++ 中添加一行到上一行

java - 将一个正则表达式替换为另一个正则表达式

regex - notepad++ 关键字仅在行首时

notepad++ - 在 Notepad++ 中将智能、 curl 引号转换为哑、直引号的最简单方法?

java - java中字符串的快速参数函数

javascript - 在javascript中替换字符串中的多个字符

java - 如何使用正则表达式获取目录中的所有文件(排除子目录)?

regex - 如何在Notepad++中匹配整行进行搜索/替换?