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

wils

创作者俱乐部成员

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

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

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


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

好像可以啊🤣

借用网友的表格图片

🔔

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

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

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


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

广东省
浏览 223
收藏
5
分享
5 +1
5
+1
全部评论 5
 
如果遇到复杂的公式,是不是可以用这个来拆分呢?是否可以用于格式化复杂的表格公式
· 山西省
回复
wils

创作者俱乐部成员

好像可以哦,不过应该有类似的工具吧,我是能偷懒就偷懒
· 广东省
回复
 
学习!
· 上海
回复
 
哈哈,上面我是在学习数组函数的使用中遇到的bug,很多示例可能没有实际意义,也可以有其它更好的解决
· 重庆
1
回复