用正则寻找第n个右括号的位置

wils
wils

创作者俱乐部成员

论坛里有朋友发帖,https://bbs.wps.cn/topic/50178

用动态数组公式,计算字符串里,从左数第n个左括号,所对应右括号的位置

我已经被公式搞晕了。。。


突发奇想,用正则能不能找到第n个括号?

好像可以啊🤣

借用网友的表格图片

🔔

=LEN(REGEXP(A2,"^(.*?\{){"&B2-1&"}.*?(\{([^{}]*|(?2))*\})"))

写的比较粗糙,但大概意思到了:

比如要找第3个,那正则先找到2个左括号,后面跟着完整匹配的一个括号,提取出这一部分后,len获取长度即可得到结果


也不知道数组公式还是正则更晕人,哈哈🤣

广东省
浏览 60
收藏
2
分享
2 +1
2
+1
全部评论 2
 
Vicky
学习!
· 上海
回复
 
JW L
哈哈,上面我是在学习数组函数的使用中遇到的bug,很多示例可能没有实际意义,也可以有其它更好的解决
· 重庆
1
回复