javascript - 使用 JavaScript RegEx 匹配嵌套括号
问题描述
我正在尝试编写一个 JavaScript RegEx,它返回括号之间的内容(可能包括嵌套括号),如本文中描述的解决方案(由 Java RegEx 实现)
细绳:
xxx
@connect(({ app }) => (
{
...app
}
))
xxx
结果:
({ app }) => (
{
...app
}
)
是否可以使用 JavaScript RegEx 解决它?
解决方案
您可以使用以下表达式:
/ // start expression
(?<=@connect\() // positive lookbehind
\( // open parenthesis
(.|[\n\r])+ // anything, including new-lines
\) // closed parenthesis
(?=\)$) // positive lookahead
/gm // global match, multiline
var re = /(?<=@connect\()\((.|[\n\r])+\)(?=\)$)/gm;
var s = `xxx
@connect(({ app }) => (
{
...app
}
))
xxx`
console.log(s.match(re)[0]);
推荐阅读
- png - MLT transparency of watermarks and tracks not working
- git - Creating user defined lock for Jenkins jobs
- archlinux - xfce Power Manager not running xflock4 correctly
- java - 如何修复二分搜索算法的结果(出现缺失结果)
- matlab - Matlab: How to crate a method that loops over Properties whitin a class?
- postgresql - Postgres Docker: "postgres: could not access the server configuration file "/var/lib/postgresql/data/postgresql.conf": No such file or directory"
- c++ - reading msmtp response from terminal
- java - 自动选中 JList 顶部新添加的元素
- javascript - JAVASCRIPT中js indexOf()方法背后的算法
- android - Hardcoded string "blablabla", should use @string resource