StriingRegExp()的问题?[已解决]
本帖最后由 newuser 于 2010-5-6 12:48 编辑我的问题是2个damage前的数字我都想显示该怎么办?
$asResult = StringRegExp("You deflect 36 of Gnarly 25Monster's 279 damage 379 damage", '({1,3}) (?:damage) ', 1)
If @error == 0 Then
MsgBox(0, "SRE 示例 6 结果", $asResult & "," & $asResult)
EndIf 不明白LZ的意思,把原字符串和需要出的结果放上来看看呢? 本帖最后由 afan 于 2010-5-6 11:37 编辑
$Str = "You deflect 36 of Gnarly 25Monster's 279 damage 379 damage"
$sR = StringRegExp($Str, '(\d+)\h+damage', 3)
If Not @Error Then MsgBox(0, 'SRE 示例 6 结果', $sR & ',' & $sR) 回复 3# afan
谢谢,解决了?不过它的匹配符号真多真难理解,只能是用到了在学点.
不过还是想请教:
\d相当于,+ 相当于 重复前面的字符,那么\d+该怎么理解呢?难道是2个?
\h 匹配一个换行符,那么\h+damage该如何理解呢?$Str = "You deflect 36 of Gnarly 25Monster's 279 damage 379 damage"
$sR = StringRegExp($Str, '({1,3})(?: damage)', 3)
;$sR = StringRegExp($Str, '(\d+)\h+damage', 3)
If Not @Error Then MsgBox(0, 'SRE 示例 6 结果', $sR & ',' & $sR) + 相当于 重复前面的字符----其实应该为有符合前面的表达式的字符串1个以上。\d+ 也就是说至少有一个数字。
\h+damage----有一个以上空格,紧接着damage字符串 回复 5# afan
老实说,还不是很明白"其实应该为有符合前面的表达式的字符串1个以上",要是有个例子就好了.
理解能力差,呵呵! 回复afan
老实说,还不是很明白"其实应该为有符合前面的表达式的字符串1个以上",要是有个例子就好了.
...
newuser 发表于 2010-5-6 12:47 http://www.autoitx.com/images/common/back.gif
不急!不急!慢慢来,大家共同学习,一切会搞懂的。 回复afan
老实说,还不是很明白"其实应该为有符合前面的表达式的字符串1个以上",要是有个例子就好了.
...
newuser 发表于 2010-5-6 12:47 http://www.autoitx.com/images/common/back.gif
\d 等同于 ,这个无异议
+ 等同于 {1,} ,就是说1个以上;如果必须是1至3个那就得如你所写 {1,3} 之类
也就是说 \d+ 等同于 {1,}
页:
[1]