2016-12-06 1 views
1

저희 팀은 버그 추적을 위해 Bugzilla를 사용하고 RegExes와 함께 그룹 기능을 사용하여 특정 제품에 대한 액세스를 허용하거나 거부합니다. 현재 달성하고자하는 것은 사용자 이름으로 도메인을 보유한 모든 사용자 (예 : "[email protected]")는 X 제품에 액세스 할 수 있어야한다는 것입니다.하지만 모든 직원을 제외시키고 싶습니다. 단어 "파트너"(예 : "[email protected]"). RegEx를 사용하여 Bugzilla 그룹에서 일부 사용자 제외

나는 뒤에 부정적인 모습을 사용하여 그것을 달성하기 위해 노력 :

(?<!partner)@mycompany.com$ 

문제는 : 그들은 다시 버그질라에 로그인 한 후 그룹에 포함 된 사용자 쫓겨된다. RegEx 엔진이 뒤/앞으로보기를 완벽하게 지원하지 않는다는 것이 두렵습니다. 주변을 둘러 보지 않고 어떻게 구현합니까?

미리 감사드립니다. dbug0685

+0

Bugzilla는 가장 강력한 정규식 엔진 중 하나를 가지고있는 Perl로 작성되었습니다. 나는 이것이 뒤에서/앞으로 어설 션을 구현하는 첫 번째 엔진 중 하나일지도 모른다고 생각합니다. –

답변

0

어쩌면이 정규식 대신 ^.*?(?<!partner)@mycompany\.com$을 사용해보십시오. partner 인 이메일은 전혀 일치하지 않지만 다른 메일은 일치하지 않습니다. 당신이 공유 한 정규 표현식이 모든 것이 었는지 모르겠다면, lookbehind 전에 확실하게 .*이 누락되었습니다. 또한 .com의 마침표는 이스케이프되어야하며 그렇지 않으면 모든 문자와 일치합니다.

관련 문제