查找所有数学运算的正则表达式
Regular expression to find all math operations
我有这样的表达方式:
5*3 + 2 +7 -sqrt(32312.323)
我想找到该表达式中的所有数学运算。我试过:
[A-Za-z\*\+\-\/]
因为“-”在 "sqrt" 操作旁边,所以它合并为“-sqrt”,我希望在这种情况下将它们分开?我该如何解决这个问题?
提前致谢!
[*+\/-]+|[A-Za-z]+
这行得通。根据@CertainPerformance 的表现应该没问题。问题总是出现在交替的多个分支以匹配相同内容开始时(例如 a*|aa*)。你的两个分支不可能都匹配同一个字符,所以这和正则表达式一样好。
另外,感谢@revo 的回答。
我有这样的表达方式:
5*3 + 2 +7 -sqrt(32312.323)
我想找到该表达式中的所有数学运算。我试过:
[A-Za-z\*\+\-\/]
因为“-”在 "sqrt" 操作旁边,所以它合并为“-sqrt”,我希望在这种情况下将它们分开?我该如何解决这个问题?
提前致谢!
[*+\/-]+|[A-Za-z]+
这行得通。根据@CertainPerformance 的表现应该没问题。问题总是出现在交替的多个分支以匹配相同内容开始时(例如 a*|aa*)。你的两个分支不可能都匹配同一个字符,所以这和正则表达式一样好。
另外,感谢@revo 的回答。