2009-11-23 3 views

답변

7
/(.+)(?<!associated)_id$/ 

associated에서 끝나지 않는다 (.+)에 의해 일치 된 어떤 있는지 확인 부정적인 lookbehind를 사용합니다.

lookbehind를 지원하지 않는 언어를 들어, 당신은이를 사용할 수 있습니다 : 이것은 문자열의 시작 위치에서 associated_id로 끝나는 문자열과 일치하는 것은 불가능하다고 주장한다

/\A(?!.*associated_id$)(.+)_id$/ 

. 내가이 일을 아마 더 좋은 방법이있을거야, 그래서

+0

함께했다 에서 "associated_id".match (/ (+) (<관련) _id $ /.?!) 내가 구문 에러 얻을 : 컴파일 오류 (IRB) : 4 : 정의되지 않은 (? ...)를 순서 : /(.+ ?!) (<관련) _id (IRB)에서 $/ \t : 4 –

+0

오. 루비는 lookbehind를 지원하지 않는다. 나는 방금 알아 냈다. 편집 할 것입니다. –

+0

감사합니다. Tim :) –

0

은 내가 "regexpert"아니에요,하지만 난 내가 연결하면 나는 레일에서이 작업을 수행하기 위해 노력하고있어

/(.+[^associated_id].+)_id$/ 
관련 문제