gzh888666 发表于 2011-9-15 23:05:33

反馈AU3.REHelper一个问题(已解决)

本帖最后由 gzh888666 于 2011-9-15 23:48 编辑

我使用AU3.REHelper是不知道如何替换成宏,特来向A版请教!

afan 发表于 2011-9-15 23:40:36

替换里面填写 (?##@CR)
工具会自动解析为 @CR (在导出的脚本中可以看得出)

afan 发表于 2011-9-15 23:44:03

请留意说明里面的这段内容:

      ⑦表达式支持变量书写方式(此设置变量功能仅供注册版使用)
      在表达式中经常要用到变量或宏(比如比较长的表达式为了更好的组织;本身有代入变量或宏的需求等),这在脚本中书写很容易,而在输入框中就比较麻烦了,至少我为此折腾了比较长的时间… 常规的方式无法在输入框中既表达字符串又表达变量,而最关键的是表达式中任何字符都有匹配意义(包括引号),这使得无法用在脚本中的书写格式来完成。
      好在正则表达式中有个(?#注释字符)的功能,(注,(?#...)中的...不能为“)”闭括号,因为引擎会自动判断“(?#”之后的第一个闭括号)对于表达式中的(?#...),其搜索引擎会直接无视,利用这一点,我们可以在(?#...)中书写变量来实现。格式为 (?##$变量名) 或 (?##@宏名),多加一个#是为了区别于注释。如以下例子:
      先点击中部控制区的最右侧“变量”,在变量设置窗口中写入:$a = 'xxx'
      然后,在表达式中输入 aaa(?##$a) b(?##@ScriptDir)(?##$b)(?#$c)
      这样的结果等同于脚本的书写 "aaa" & $a & " b" & @ScriptDir & "(?##$b)(?#$c)"
      原理是本工具会先获取定义的变量,再在输入框中匹配,对于没有定义的变量(如上面的(?##$b)中的$b没有事先定义),或格式不符的((?#$c)只有一个#号)它会直接以源字符串匹配,当然也就会被搜索引擎作为注释而无视。
...

gzh888666 发表于 2011-9-15 23:46:58

回复 2# afan

明白了。我看帮助的时候还以为不要加()呢?感谢A版的工具,没有这个工具,我根本无法理解正则。
真心感谢A版的AU3.REHelper,是这个工具让我进步了很多。
页: [1]
查看完整版本: 反馈AU3.REHelper一个问题(已解决)