51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1865|回复: 6
打印 上一主题 下一主题

[原创] 这样情况如何用正则表达式匹配出字符串??(已解决)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-1-15 15:35:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
例如2313.456+2235235)/(124214+346)*销售金额*2234/345345   我想分别匹配出,数字(包裹小数点),括号,操作符,以及文字,其中数字和文字是可变的.也就是说我想匹配到"(", "2313.456","+" ,"2235235", ")", "/"............

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

[ 本帖最后由 wugecat 于 2010-1-18 10:47 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-1-15 17:37:28 | 只看该作者
up
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-1-18 10:47:39 | 只看该作者
解决了....自己动手丰衣足食
分享一下
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
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-1-18 11:54:54 | 只看该作者
哈哈,lz一定吃胖了。。学习学习。。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-1-18 13:21:28 | 只看该作者
RegExpTest "[\(\)\+/\*\-<>]|(\d+\.\d+)|(\d+)|([\u4e00-\u9fa5]+)", str

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

[ 本帖最后由 风雪夜归人 于 2010-1-18 13:36 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-1-18 17:17:45 | 只看该作者
哦,还能这样做啊,你如果早点回帖我就不用研究了 浪费了3000脑细胞
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-1-18 23:32:51 | 只看该作者
我早上才看到,但是觉得你的方法复杂了,又不知道怎么匹配汉字。。郁闷,也浪费了我很多脑花呢
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 07:42 , Processed in 0.072622 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表