正文

正则表达式法计算字符串算术表达式2(vb2005)2008-07-28 10:53:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/iamben250/37156.html

分享到:

接着昨天的内容继续学习。

8、"(?<pow1>"  & num & ")\^ (?<pow2>" & num & ")

该表达式比较简单,是幂的运算。如字符串"123.123^3.32"就匹配该规则。程序中定义为

Const pow As String = "(?<pow1>" & num & ")\^(?<pow2>" & num & ")"

9、"(?<fone>(exp|log|log10|abs|sqr|sqrt|sin|cos|tan|asin|acos|atan|))\s*\((?<fone1>" & num & ")\)"

该表达式中,(?<fone>(exp|log|log10|abs|sqr|sqrt|sin|cos|tan|asin|acos|atan|))的意思是如果待处理的字符串中含有exp|log|log10|abs|sqr|sqrt|sin|cos|tan|asin|acos|atan的任意一个函数,则将其命名为fone;\s*\(的意思是上述的函数后须有一个左括号且括号左边可以有空白字符;((?<fone1>" & num & ")地意思是,如果待处理的字符串含有一个浮点数,则将其命名为fone1;最后的\)表示待处理的字符串须含有右括号。如字符串"sin(2.33)"、"cos (3)"就是一个匹配该规则的字符串。程序中定义为

 Const fone As String = "(?<fone>(exp|log|log10|abs|sqr|sqrt|sin|cos|tan|asin|acos|atan|))\s*\((?<fone1>" & num & ")\)"

10、"(?<ftwo>(min|max)\s*)\((?<ftwo1>" & num & "),(?<ftwo2>" & num & ")\)"

这是一个处理比较两个浮点数大小的规则。如min(3,4)或max(3,4)就符合该规则。程序中定义为:

Const ftwo As String = "(?<ftwo>(min|max)\s*)\((?<ftwo1>" & num & "),(?<ftwo2>" & num & ")\)"

上面一共定义了10种正则表达式,可以将它们合并起来,这样就可以对待处理字符串进行综合的匹配判断。文中定义合并的正则表达式为:

 Const pattern As String = "(" & fone & "|" & ftwo & "|" & modu & "|" & pow & "|" & div & "|" & mul & "|" & subt & "|" & add & "|" & nump & ")"

上面我们把要用到的正则表达式都列举了出来,希望大家能后理解他们的意义。下面,我们将介绍关于正则表达式的重要方法。

 

阅读(2263) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册