首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数学表达式的正则表达式

数学表达式的正则表达式
EN

Stack Overflow用户
提问于 2020-10-30 16:33:08
回答 1查看 49关注 0票数 0

我试图通过单个正则表达式解析以下数学表达式:

代码语言:javascript
复制
2(3(4+5)6)7
3(4+5)6

表达式应该返回第一个示例的(3(4+5)6)7和第二个示例的(4+5)6。我创造了这个:

[\(\[].*[\(\]]*\d*

但这只适用于第一种情况。

是否可以为上述情况创建一个正则表达式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-30 19:33:32

您可以匹配第一个(和最后一个),后面跟着可选的数字,并在两者之间指定允许的字符。

代码语言:javascript
复制
\([\d+()-]+\)\d*

Regex演示

如果可以使用PCRE,则可以匹配平衡括号并匹配可选的尾部数字。

代码语言:javascript
复制
(\((?>[\d+-]|(?1))*\))\d*

Regex演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64612312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档