2011-11-15 53 views
0

在試圖解析字符串中的一些數據時,我決定使用Satimage的regxp加法。但是,我遇到了一些我無法弄清楚的問題。根據文檔,默認的正則表達式引擎是Ruby,這很好,因爲它支持向後看和向前看,我可以使用它們。我測試了我的正則表達式在Ruby中:似乎無法解析使用regxp,並找不到爲什麼

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

我很難過......有人對此有所瞭解嗎?

回答

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 

您可以輕鬆地換到上述的功能。

+0

原來,我需要戴上我的老花鏡!補充是正則表達式,而不是regxp。一旦我拼寫加法修正,它開始工作。但是,你給了我一個關於如何將Ruby命令封裝到我所擁有的AppleScript中的想法。 –

相關問題