51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2589|回复: 10
打印 上一主题 下一主题

[原创] 关于正则表达式的书写

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-9-19 10:00:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在做java程序的脚本的时候
程序会出现多个页面,都通过其label属性的值来标识,这些页面的label属性的值虽然都不相同
但都是以固定的子字符串开头的,比如abc...
所以想把label属性的值用正则表达式来表示,可以统一的来标识这些页面
按手册上说的好像是在把content的值写成^abc就可以了
但我这些修改后就不能标识到这些页面了
我想可能是正则表达式的书写有问题
一时还没有找到解决办法
希望哪位前辈指点一下
thanks
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2006-9-19 11:22:32 | 只看该作者
么有人过来帮忙啊
自己顶一下
在线等
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-9-19 11:30:20 | 只看该作者
- -^abc没错,怎则表达式是用来做限制的。。你如何来标示的?我不太懂。。。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2006-9-19 11:38:07 | 只看该作者
    在[QuickTestPro 精华区] 里 有正则表达式方面的资料,你可以到[QuickTestPro 精华区] 下载下来仔细研究如何使用它。你还可以以“正则表达式”为关键词在本论坛上搜索,肯定能搜到不少关于正则表达式的帖子。
    提示一点:在对象库里,你要把对象的content 值手工改成^abc, 如果这个正则表达式没有错的话。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2006-9-19 13:07:38 | 只看该作者
    TO 3楼的朋友,因为程序中可能出现多个label值是以abc开头的窗体,因为abc后面的字符串不能唯一确定,所以我希望能通过正则表达式来实现统一的标识,比如以前标识其中一个窗体,是通过其label的值abcdefg,那么我现在把其label 的content改为^abc是不是也应该可以标识到这个窗体呢,我理解的是^abc可以代替abcdefg来标识这个窗体,正则表达式所指的匹配不是这个意思吗?也许是我理解错了
    to worker1020,我是手动改的,而且正则表达式应该也没有写错,按照手册上来的,但我也不敢肯定语法,没有找到实例,我再找找吧
    谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2006-9-19 13:34:16 | 只看该作者
    abc...这是一个字符串吗?中间有没有空格或者其他符号
    没有的话应该是对的
    你试试   abc/w*
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2006-9-19 14:46:10 | 只看该作者
    to 楼上的朋友
    abc...是一个字符串
    我换了种方式可以实现了
    abc.*
    用这个就可以统一标识所有这样的窗体了
    thanks
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2006-9-19 15:19:45 | 只看该作者
    就是楼上那个意思
    参数表里3行参数可以代表200行
    方便输入
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2006-9-19 18:13:52 | 只看该作者
    如果非常想用^
    上面的情况可以写成:
    ^abc.*
    ^abc.*$
    我想^abc只是代表abc,因为它后面没有变数。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2006-9-20 13:03:01 | 只看该作者
    大大来帮你:
            正则表达式应用模板
    进行日期YYYY-MM-DD的格式检查 :
    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.
        RetStr = RetStr & "Match found at position "
        RetStr = RetStr & Match.FirstIndex & ". Match Value is '"
        RetStr = RetStr & Match.Value & "'." & vbCRLF
      Next
      RegExpTest = RetStr
    End Function
    date_pattern="^((((19|20)(([02468][048])|([13579][26]))-02-29))|((20[0-9][0-9])|(19[0-9][0-9]))-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((01,3-9])|(1[0-2]))-(29|30)))))$"
    result_message=RegExpTest(date_pattern, inputbox("请你输入要检查的时间:"))'用其它正则表达式更改此处
    Select case result_message
    Case ""
             msgbox("你输入的日期格式与标准不匹配")
    case else  MsgBox(result_message)
    end select
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-5-16 21:20:12 | 只看该作者
    楼上的不知道在那里拷贝的代码?能否解释一下?
    我自己运行这段代码,不论输入什么样的日期格式,都弹出提示对话框:你输入的日期格式与标准不匹配
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-17 18:33 , Processed in 0.083007 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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