You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jQuery移除字符串中最后一对括号及内部文本

解决jQuery移除字符串最后一对括号及其内部文本的问题

你的原代码使用了全局匹配的正则/\(.*?\)/g,会匹配并删除所有括号对,要实现仅移除最后一对的效果,只需修改正则表达式即可。

核心思路

利用正则的贪婪匹配特性,捕获最后一对括号之前的所有内容,替换时保留这部分内容,丢弃最后一对括号及其内部文本。

代码实现

基础版(保留括号前的空格)

$('p').text(function(_, text) {
    // 匹配最后一对括号及其内容,保留前面所有内容
    return text.replace(/(.*)\([^()]*\)/, '$1');
});

优化版(移除括号前的空格)

如果需要同时去掉括号前面的空格,可调整正则:

$('p').text(function(_, text) {
    return text.replace(/(.*?)\s*\([^()]*\)/, '$1');
});

正则说明

  • (.*):贪婪匹配字符串开头到最后一个(之前的全部内容,存入捕获分组1
  • \([^()]*\):匹配最后一对括号及内部文本([^()]*确保只匹配无嵌套的括号内容)
  • \s*:匹配括号前的任意数量空格(仅优化版包含)
  • 替换为$1即保留分组1的内容,丢弃最后一对括号部分

效果测试

针对你的示例字符串:

"This is a (test) string (where) last parentheses (needs) to be (removed) "

  • 基础版处理后结果:"This is a (test) string (where) last parentheses (needs) to be "
  • 优化版处理后结果:"This is a (test) string (where) last parentheses (needs) to be"

内容的提问来源于stack exchange,提问作者Abbasi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 18:40:06