微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式查找大括号之间的最后一次出现

如何解决正则表达式查找大括号之间的最后一次出现

我需要在 JavaScript/ES6 中使用正则表达式来查找字符串中最后一次出现的括号之间的

例如,如果这些是示例字符串:

  • “某些示例字符串(值 1)(更多)某物(值 2)”
  • “一些示例字符串(第一个值),某些东西(第二个值)”
  • “某些示例字符串 (VOne) - 某些东西 (VTwo)”

正则表达式应分别从上述字符串返回以下值

  • “价值 2”
  • “第二个瓦尔”
  • “VTwo”

解决方法

str.match(/.*\((.*)\).*$/)[1]

适用于您的用例。

limit:这不适用于具有嵌套刹车的字符串。 例如。 “(一些样本字符串(VOne) - 东西(VTwo))”

,

这是一个正则表达式替换所有方法。我们可以匹配模式 ^.*\((.*?)\).*$,它将消耗从输入开始到但不包括最终 (...) 项的所有内容。然后我们捕获该术语的内容并打印到控制台。

var input = "Some Sample String (Value 1) (more) Something (Value 2)";
var last = input.match(/\(.*\)/) ? input.replace(/^.*\((.*?)\).*$/,"$1") : "NO MATCH";
console.log(last);

请注意,我对 match 进行了初步检查,以确保该术语至少有一个 (...) 术语。如果是,那么我们采用正则表达式替换,否则我们分配 NO MATCH

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。