[已解决]一个正则的求助?
本帖最后由 newuser 于 2011-6-16 16:55 编辑我想匹配出执行systeminfo结果中的
网卡: 安装了 1 个 NIC。
这部分
使用下面这个不能匹配出?
^网\w+\h*\w+[^\r]+$
不希望用这个:
网卡:\h*安装了 1 个 NIC。 (?i).*(?:nic) 回复 2# 3mile
谢谢,好使?
请教:如何利用(?ms)来匹配他呢?
我的思路是利用(?ms)模式 加上^ 和$做行首和行尾的匹配来完成它?可怎么试都不行! 回复 3# newuser
au3默认就是行内模式吧,写个完整的正则看看,不然怎么知道是什么问题 回复 4# 蜘蛛抱蛋
(?ms)^网.*C$ 回复 5# newuser
可以啊,如果你只需要行首行尾固定值,这样做绝对可以,但是你的结尾有没有。呢? 回复 6# 蜘蛛抱蛋 回复 7# newuser
Multiline(多行模式):更改^和$的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。(在此模式下,$的精确含意是:匹配\n之前的位置以及字符串结束前的位置.)
本帖最后由 蜘蛛抱蛋 于 2011-6-16 11:43 编辑
回复 7# newuser
不知道怎么回事。。。楼主可以参考这个,正则我也没怎么搞懂
===============
从这里看,$匹配的是字串末尾 回复newuser
Multiline(多行模式):更改^和$的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在 ...
3mile 发表于 2011-6-16 10:15 http://autoitx.com/images/common/back.gif
(?ms)^网.*。(?=$)不好使?加上个垂直制表符\v就好使了?
感觉(?ms))^网.*。(?=$|\r)好理解些。 回复 9# 蜘蛛抱蛋
谢谢! 干嘛要管结尾呢?(?m)^网\V+ 回复 12# afan
退一步海阔天空,也许是太看中(?ms)下的$行尾^行首的理解了,不过为什么老大和3mile都用\V呢?难道\V也是用来和行尾匹配的意思?他不是"垂直水平符"的意思吗?
另外,老大的正则测试工具中没有\v的注释,能加上吗? 回复 13# newuser
注释在工具的帮助里面不是有吗? \V 和 \v 的意义是完全相反的。 回复 14# afan
页:
[1]
2