佚名通过本文主要向大家介绍了正则表达式嵌套,正则表达式,正则表达式语法,正则表达式测试工具,在线正则表达式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:正则表达式嵌套一则
描述:
解决方案1:
描述:
字符串
\frac{0+\frac{1}{2}+0}{1+\frac{4}{5}+1}
如何使用正则表达式分别获取两个字符串:
0+\frac{1}{2}+0
1+\frac{4}{5}+1
\frac{}{}
可以无限嵌套。
也要能够匹配:
\frac{1}{2}
解决方案1:
/\d{1}\+\\frac(\{\d{1}\}){2}\+\d{1}/g
这种的可以吗?问题是你的字符串中有 \f ,这个会被转义的。
/^\\frac{(.*\\frac{.*}{.*}.*)*}{(.*\\frac{.*}{.*}.*)*}|\\frac{(.*\\frac{.*}{.*}.*)*}{(.*)}|\\frac{(.*)}{(.*)}$/
这个勉强可以,但是需要在程序中加一点判断,看看具体是哪两个分组匹配到的。
一开始的想法是给分组里面的\\frac{...}{...}
用非贪婪模式,但仍然是不行的,因为它的后面没有“贪婪”的部分来“抢夺”它,所以它的匹配结果实际上还是和贪婪一样的。实验了一下确实是这样。
后来想用逆向否定环视
来实现,但可惜JS不支持,所以没办法,最后只能想到用这种“笨”办法来做了。不知道有没有大神能完美地搞定这个问题。