如何比对“动态”字符串?
“网易电子邮箱 - 极速3.5 - Windows Internet Explorer”“(214封未读) 网易电子邮箱 - 极速3.5 - Windows Internet Explorer”
一种情况是第一行,固定的字符串。另一种情况是XXX封未读邮件,难点是数字是不确定的。
我需要比较,如何判断?用正则表达式吗。求达人给个代码。 本帖最后由 水木子 于 2011-1-1 12:07 编辑
意思是要得到 “214” ??
\((\d+[^\)]+) ;得 XXX封未读
\((\d+)[^\)]+ ; 得 214 这个位置 我想要的是,如果获取到了
“网易电子邮箱 - 极速3.5 - Windows Internet Explorer”
和
“(XXX封未读) 网易电子邮箱 - 极速3.5 - Windows Internet Explorer”
这两种情况都符合,然后把它关闭,关键是XXX的位数和具体数字都是可变的。对于这个难题我很纠结 本帖最后由 黑菜 于 2011-1-1 12:16 编辑
我想实现的大概目的是这样的,(语句写的不对),您懂我意思的,求修正~~~~
$oIE1 = _IECreate($wangzhi, 1, 1, 1)
$wintitle = WinGetTitle("")
While $wintitle = "网易电子邮箱 - 极速3.5 - Windows Internet Explorer" or $wintitle = (" XXXXX封未读) 网易电子邮箱 - 极速3.5 - Windows Internet Explorer")
Sleep(500)
WinClose("网易电子邮箱 - 极速3.5 - Windows Internet Explorer") or WinClose(" XXXXXX封未读) 网易电子邮箱 - 极速3.5 - Windows Internet Explorer")
$wintitle = WinGetTitle("")
WEnd 哦!你是不是要做网页监控哦? 哦!你是不是要做网页监控哦?
水木子 发表于 2011-1-1 12:14 http://www.autoitx.com/images/common/back.gif
嗯,对,差不多是的 如果是这样的话,感觉没必要用正则,用 StringInStr 就行了! 可是,“网易电子邮箱 - 极速3.5” 这个之前是多少封未读邮件的数字是不确定的,而且有没有“未读邮件”也是不确定的。
我感觉这难题非常纠结! 反过来想! 网易电子邮箱 - 极速3.5 - Windows Internet Explorer这个是确定的,是吧!
只要有符合这段字符串就可以吧? 反过来想! 网易电子邮箱 - 极速3.5 - Windows Internet Explorer这个是确定的,是吧!
只要有符合这段 ...
水木子 发表于 2011-1-1 12:35 http://www.autoitx.com/images/common/back.gif
是的。这段是确定的!可是WinClose函数必须明确标题啊 $wintitle = WinGetTitle("")
MsgBox(0,0,$wintitle)
if StringInStr ($wintitle,"网易电子邮箱 - 极速3.5 - Windows Internet Explorer") Then
Sleep(500)
WinClose($wintitle)
endif
可以了{:face (319):}
感谢版主大哥点拨!!!
话说,如果给自己个难题,要正则表达式方式来实现,版主大哥有方法吗 $wintitle = WinGetTitle("")
MsgBox(0,0,$wintitle)
if StringInStr ($wintitle,"网易电子邮箱 - 极速3 ...
黑菜 发表于 2011-1-1 12:40 http://www.autoitx.com/images/common/back.gif
谁说的? Opt('WinTitleMatchMode', 2) 谁说的? Opt('WinTitleMatchMode', 2)
水木子 发表于 2011-1-1 12:58 http://www.autoitx.com/images/common/back.gif
又学到一样,谢谢! 看来 标题部分还是需要传播啊新手参看我前面里的文章
页:
[1]