似乎无法解析使用正则表达式,无法弄清楚为什么

时间:2011-11-15 15:32:36

标签: applescript

在尝试从字符串中解析一些数据时,我决定使用Satimage的regxp添加。但是,我遇到了一些我无法弄清楚的问题。根据文档,默认的正则表达式引擎是Ruby,这很棒,因为它支持lookbehind和lookahead,我可以使用它们。我在Ruby中测试了我的正则表达式:

ruby-1.9.2-p290 :056 >   ref = "ABCD_oxox\"><title>Reset"
=> "ABCD_oxox\"><title>Reset" 
ruby-1.9.2-p290 :057 > xx = /.*(?=\">)/.match(ref).to_s
=> "ABCD_oxox" 
ruby-1.9.2-p290 :058 > 

所以我知道它有效。但是,在AppleScript中,我似乎无法让它工作:

-- AS Begin

set RefID2 to "ABCD_oxox\"><title>Reset"
set xx to find text ".*?(?=\\\">)" in RefID2 with regxp and string result

-- AS end

错误“此表达式的某些部分未返回任何结果。”编号-2763

我很难过......有人知道这个吗?

1 个答案:

答案 0 :(得分:0)

加载项是否正常工作。你尝试过像“。*”这样简单的东西吗?

以下代码适用于Applescript:

set aa to "ABCD_oxox\"><title>Reset"
set aa to "puts /.*(?=\">)/.match(" & quoted form of aa & ").to_s"
do shell script "ruby -e " & quoted form of aa

您可以轻松地将上述内容包装到函数中。