正则表达式括号
之后匹配的内容我有一些表情&我需要提取所有的人说成一个列表正则表达式括号
Example Output
(A + B)/(C + D)+(E/F) {(A + B),/, (C + D), +, (E/F) }
(A + B)/(C + D) (A + B), /, (C + D)
我需要它们是括号外的运营商了。
我用这一点,但此仅在括号
Pattern p = Pattern.compile("(\\(.*?\\))");
Matcher m = p.matcher(exp7);
List<String> expressions = new ArrayList<String>();
while(m.find())
{
expressions.add(m.group());
}
同样在获取数据,如果我有类型的表达式
(A/B) + C
我需要通过使用上述模式I可以得到{(A/B), +, C}
只检索(A/B)。有没有正则表达式来获取上述类型的表达式的所有数据。
我知道如何在两个步骤解决此问题:
第一步。
搜索模式:
(\([^\(^\)]*\)|[^\(^\)]+)
取代:
\1,
结果:
(A + B)/(C + D)+(E/F) (A + B),/,(C + D),+,(E/F),
(A + B)/(C + D) (A + B),/,(C + D),
步骤2.
最终摆脱不必要的逗号。 添加'{'和'}'。
在正则表达式上给出错误。有些角色没有正确逃脱。 – SilentCoder
正则表达式被更好写作'(\([^()] * \)| [^()] +)'或'引用“(\\([^()] * \\)| [^() ] +)“'但会造成问题,当存在嵌套括号,如'((A +(B))/(C + d))' – sln
@sln:如何有关评估这个表达式(A/B)+ C?正则表达式可以更新以评估以上表达式吗? – SilentCoder
决不解析与正则表达式工科数学,特别是不配备的功能做发动机... – nhahtdh
@nhahtdh:哦,我能看到你在得到。很高兴知道。有没有其他方法可以获得上述输出? – SilentCoder
http://en.wikipedia.org/wiki/Shunting_yard_algorithm – nhahtdh