【发布时间】:2013-04-17 05:56:53
【问题描述】:
我需要帮助编写一个 reg ex 或更多用于搜索字符串的内容。
首先,它搜索包含小数点或逗号的数字字符串(0 到 9),但小数点和逗号只能介于两个数字之间。没有两个小数点并排,或者两个逗号,或者一个小数点在一个逗号旁边,或者一个逗号在一个小数点旁边。
然后,如果找到了,它会在相同的字符串中搜索数字 0 到 9、左括号、左方括号或左大括号,并继续搜索,只要找到任何数字、任何括号、任何方-括号、任何大括号、两个数字之间的任何逗号、两个数字之间的任何小数点、任何加号 (+)、减号 (-)、星号 (*) 或正斜杠 (/) 以及它们之间的空格.它在最后一个空格、右括号、右方括号或右大括号处停止。
我正在尝试解析看起来像计算的数据,然后解决它。
例如在字符串中:
'The quick brown 1234*(5+2) jumps over"
取出
the 1234*(5+2)
在字符串中
'[5/{4+(5*2)-1}] on a sunny (2 day.'
只取出
[5/{4+(5*2)-1}]
【问题讨论】:
-
这不是一个常规问题,因为正则表达式不太适合;但也许递归模式可以做到。
-
@Jack 嗯,我从没听说过递归正则表达式。
-
相信我,你不会want to know :)