2012-08-28 2 views
0

클라이언트 인증에 사용되며 로그에 쓰레기를 채우는 400-699 EXCEPT 401 범위의 모든 SIP 코드에 대해 SIP 메시지를 구문 분석하려고합니다.PCRE 정규식 지원 - 하나의 숫자를 뺀 수치 범위

메시지는 (이 코드의 거대한 숫자가 있고 난 그들 모두를 나열하지 않도록하고 싶습니다, 작은 부분 집합)과 같이 :

여기
SIP/2.0 400 Bad Request 
SIP/2.0 401 Unauthorized 
SIP/2.0 500 Internal Server Error 
SIP/2.0 604 Does not exist anywhere 

내 현재의 정규식 (작동하지 않습니다되고, 여전히 가장 우아한 아니라면 그렇게

(?m)^SIP/2\.0\s(400|40[2-9]|4[1-90-9]|[5-60-90-9]).*$ 

내가 PCRE는 PHP 정보의 무리를 발견하지 않고 문자 클래스 빼기를 지원하는지 여부를 아래로 사냥을 할 수없는 것) 변명 해주십시오을 파악하려고합니다. 이 작업을하는 데 도움이된다면 도움이 될 것입니다. 감사합니다 !!!

편집 : REGEX를 수정했습니다. 나는 더 가깝지 만 여전히 401 개의 메시지를 포함하고 있습니다.

+0

(? m)^SIP/2 \ 0.0 \의 당신의 기대 무엇인지 설명 당신의 마음의 PLZ에 다른 무언가가 있었다 것 * $ [2] [9] [4 [1-9] [0-9] | [5-6] [0-9] [0-9]). * $는 내가 찾던 정규 표현식이었다. – Matthew

답변

2

[1-90-9]가 같다 [0-9] (당신이

+0

401을 제외하고 400-499에서 임의의 숫자를 선택하려고합니다. 따라서 400을 말 그대로 지정하면 402-409의 범위를 만듭니다. 그런 다음 410-499 범위를 만듭니다. 내가 발견 한 설명을 기반으로, 올바른 방향을 제시하는 것입니다. http://www.regular-expressions.info/numericranges.html – Matthew

+0

(? m)^SIP/2 \ .0 \ s (400 | 40 [2-9] | 4 [1-9] [0-9] | [5-6] [0-9] [0-9]). *이 문제를 해결 한 것으로 보입니다. 너는 말했다. 고맙습니다! – Matthew

관련 문제