_id
으로 끝나는 모든 문자열과 일치하는 레일스 응용 프로그램에 정규식 /(.+)_id$/
이 있습니다. associated_id
을 제외한 _id
으로 끝나는 문자열과 일치해야합니다. 이것을 어떻게 할 수 있습니까?특정 경우를 제외하고 주어진 부분 문자열로 끝나는 일치 문자열
들으 :)
-C
_id
으로 끝나는 모든 문자열과 일치하는 레일스 응용 프로그램에 정규식 /(.+)_id$/
이 있습니다. associated_id
을 제외한 _id
으로 끝나는 문자열과 일치해야합니다. 이것을 어떻게 할 수 있습니까?특정 경우를 제외하고 주어진 부분 문자열로 끝나는 일치 문자열
들으 :)
-C
/(.+)(?<!associated)_id$/
는 associated
에서 끝나지 않는다 (.+)
에 의해 일치 된 어떤 있는지 확인 부정적인 lookbehind를 사용합니다.
lookbehind를 지원하지 않는 언어를 들어, 당신은이를 사용할 수 있습니다 : 이것은 문자열의 시작 위치에서 associated_id
로 끝나는 문자열과 일치하는 것은 불가능하다고 주장한다
/\A(?!.*associated_id$)(.+)_id$/
. 내가이 일을 아마 더 좋은 방법이있을거야, 그래서
은 내가 "regexpert"아니에요,하지만 난 내가 연결하면 나는 레일에서이 작업을 수행하기 위해 노력하고있어
/(.+[^associated_id].+)_id$/
함께했다 에서 "associated_id".match (/ (+) (<관련) _id $ /.?!) 내가 구문 에러 얻을 : 컴파일 오류 (IRB) : 4 : 정의되지 않은 (? ...)를 순서 : /(.+ ?!) (<관련) _id (IRB)에서 $/ \t : 4 –
오. 루비는 lookbehind를 지원하지 않는다. 나는 방금 알아 냈다. 편집 할 것입니다. –
감사합니다. Tim :) –