51Testing软件测试论坛

标题: 这样情况如何用正则表达式匹配出字符串??(已解决) [打印本页]

作者: wugecat    时间: 2010-1-15 15:35
标题: 这样情况如何用正则表达式匹配出字符串??(已解决)
例如2313.456+2235235)/(124214+346)*销售金额*2234/345345   我想分别匹配出,数字(包裹小数点),括号,操作符,以及文字,其中数字和文字是可变的.也就是说我想匹配到"(", "2313.456","+" ,"2235235", ")", "/"............

谢谢..请大家帮忙解决一下

[ 本帖最后由 wugecat 于 2010-1-18 10:47 编辑 ]
作者: wugecat    时间: 2010-1-15 17:37
up
作者: wugecat    时间: 2010-1-18 10:47
解决了....自己动手丰衣足食
分享一下
str="((2313.456+2235235)/(124214+346)*销售金额-2234/345>34<5"
RegExpTest  "[\(\)\+\*\/\-<>]|([^\(\)\+\*\/\-<>]*[^\(\)\+\*\/\-<>])",str

Function RegExpTest(patrn, strng)
  Dim regEx, Match, Matches      ' Create variable.
  Set regEx = New RegExp         ' Create a regular expression.
  regEx.Pattern = patrn         ' Set pattern.
  regEx.IgnoreCase = True         ' Set case insensitivity.
  regEx.Global = True         ' Set global applicability.
  Set Matches = regEx.Execute(strng)   ' Execute search.
  For Each Match in Matches      ' Iterate Matches collection.
      msgbox Match.value'&" "&Match.firstindex
  Next
  RegExpTest = RetStr
End Function
作者: 风雪夜归人    时间: 2010-1-18 11:54
哈哈,lz一定吃胖了。。学习学习。。
作者: 风雪夜归人    时间: 2010-1-18 13:21
RegExpTest "[\(\)\+/\*\-<>]|(\d+\.\d+)|(\d+)|([\u4e00-\u9fa5]+)", str

终于找到怎么匹配汉字的方法了。。哈哈

[ 本帖最后由 风雪夜归人 于 2010-1-18 13:36 编辑 ]
作者: wugecat    时间: 2010-1-18 17:17
哦,还能这样做啊,你如果早点回帖我就不用研究了 浪费了3000脑细胞
作者: 风雪夜归人    时间: 2010-1-18 23:32
我早上才看到,但是觉得你的方法复杂了,又不知道怎么匹配汉字。。郁闷,也浪费了我很多脑花呢




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2