"foo"및 "bar"와 일치하도록 Regex를 원하지만 "foo"또는 "bar"가 "a", "an"또는 " ".Regex에서 토큰을 버리기 전에
foo
및 bar
은 문자열의 시작 또는 끝 부분에있을 수 있습니다.
예는 일치하지 :
"end of Foo." [1 Match: Foo]
"end of bar." [1 Match: bar]
"The foo and bar" [1 Match: bar]
"foo bar" [2 Matches: foo, bar]
예에는 일치 : 나는 부정적인 lookbehind을 할 수 있습니다 생각
"foobar"
"foofoo"
"the foo"
"a bar"
"andbar"
"the foo goes to a bar."
? 그렇다면 JS와의 이식성에 대한 부정적인 견해로 전환 될 수 있습니까?
나는
/(\bfoo\b|\bbar\b)(?!the|a(n)?)/igm
감사합니다.
하지만이 있습니다
자바 스크립트는 그 다음이다 빈 캡처? 나는 이것이 온라인 파서에서 어떻게 매치되는지 약간 혼란 스럽다. http://regexr.com/38lkg :) – kjhf
@kjhf : 온라인 정규식 검사기는 패턴이 foo 또는 bar가 포함 된 모든 문자열과 일치하므로이를 테스트하기위한 좋은 도구는 아닙니다. 코드 예제를 테스트하는 것이 좋습니다. –
@kjhf : 하나의 정규식으로 작업을 수행 할 수 있지만 pcre 또는 perl과 같은 고급 정규식 엔진이 필요합니다. –