2011-11-15 2 views
0

문자열에서 일부 데이터를 구문 분석하려고 할 때 Satimage의 regxp 추가를 사용하기로 결정했습니다. 그러나, 나는 그것과 함께 약간의 문제를 가지고있다. 나는 꽤 알 수 없다. 문서에 따르면 기본 정규식 엔진은 Ruby입니다.이 루비는 lookbehind와 lookahead를 지원하고이를 사용할 수 있기 때문에 훌륭합니다. 루비 내 정규 표현식을 테스트 : 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가 아니라 regexp입니다. 일단 내가 추가 보정을 철자하면, 그것은 작동하기 시작했다. 그러나 Ruby 명령을 AppleScript로 랩핑하는 방법에 대한 아이디어를 얻었습니다. –

관련 문제