leisurely 发表于 2011-10-17 00:42:11

[已解决]请教这个AUTOIT中的正则表达式哪里有错?

本帖最后由 leisurely 于 2011-10-17 13:59 编辑

我是刚刚学习AUTOIT的,希望各位前辈能多指点一下,谢谢~~~~

刚刚看了一下winhttp.au3中的一个函数,涉及到正则表达式的,自个对着在SciTE中输入后,在用SciTE编绎时老是出错,仔细对比了原来的代码,发现在输入的时候单双引号方面不一样,但是看不懂是什么原因出错的,希望各位能指点一下,谢谢!!

1、错误的:$AATTRIBUTES = StringRegExp($SATTRIBUTES, "\s*([^=]+)\h*=\h*(?:" |'|)(.*?)(?:"|' | |\Z) " , 3 )(提示错误: 表达式错误 (不合规定的字符))

2、正确的:$aAttributes = StringRegExp($sAttributes, '\s*([^=]+)\h*=\h*(?:"|)(.*?)(?:"| |\Z)', 3)

再次多谢gzh888666大侠的指点,谢谢~~~~

gzh888666 发表于 2011-10-17 01:11:57

双引的时候这里就被截断了"\s*([^=]+)\h*=\h*(?:"

leisurely 发表于 2011-10-17 01:19:24

双引的时候这里就被截断了
gzh888666 发表于 2011-10-17 01:11 http://www.autoitx.com/images/common/back.gif

谢谢关注,能不能再详细指点一下?

这个是属于双引号和单引号使用不当导致的吗?还是其它方面使用不当导致这个错误呢?再次感谢!!!

gzh888666 发表于 2011-10-17 01:24:04

这个算是AU3的基础了!

本帖最后由 gzh888666 于 2011-10-17 01:25 编辑

$1 = 'aaa"bbb"ccc'
$2 = "aaa'bbb'ccc"
;$2 = "aaa"bbb"ccc" ;这里就是错误的"aaa"已经被截断了
MsgBox(0,"",$1)
MsgBox(0,"",$2)

leisurely 发表于 2011-10-17 01:35:39

本帖最后由 leisurely 于 2011-10-17 01:39 编辑


gzh888666 发表于 2011-10-17 01:24 http://www.autoitx.com/images/common/back.gif

非常感谢您指点,因为本人是刚学AUTOIT,所以有很多的不懂,问题白了点,还请多包涵,这样看的话,就是双引号和单引号混用的问题了,我琢磨一下,不懂再上来请教,再次感谢您的指点!!!
页: [1]
查看完整版本: [已解决]请教这个AUTOIT中的正则表达式哪里有错?