[regex] 복수개의 정규 표현식을 매칭시키는 법??????
글쓴이: mixmccym / 작성시간: 일, 2008/10/26 - 3:17오후
리눅스 상에서 C언어 기반에서 sql-injection 패턴을 매칭시키고자 합니다
regex.h의 regcomp()와 regexec()를 이용하여 정규 표현식을 이용하여 패턴 매칭을 하는 구조입니다.
한개의 패턴은 매칭이 되는데요....복수개의 정규 표현식은 매칭이 안되네요...
예를 들어 아래의 형식은 and 1=1을 만나면 잘 인식이 됩니다.
#define REGEX_STRING "and\\s*[0-9]=[0-9]"
복수개를 매칭시키려면 어떻게 해야 할까요??
예를 들어 위의 and\\s*[0-9]=[0-9] 와 [0-9a-zA-Z]+['] 2개의 패턴을 동시에 적용시키기 위해서
|(OR)연산자를 사용하여
and\\s*[0-9]=[0-9] | [0-9a-zA-Z]+['] 이런식으로 작성하니까
둘다 매칭이 되지를 않습니다. 한 10개의 정규표현식을 매칭시키고자 하는데 방법이 없을까요??
많은 지도 부탁드립니다.
Forums:
흠..
답은 아니지만 걍 하나씩 하시나 여러개 매칭시키시나 성능은 같을겁니다.
그리고 중요한것은 패턴매칭쪽을 패킷에 적용하실려면 성능 문제를 정말
고려하셔야만 할겁니다. 이게 로드를 어마 어마 하게 걸죠.
and 자체를 사용하지 못하게 하면 안되나요?
and 1+2=3 , and mod(3,2)=1 , and 3>1 ...
과 같이 수식을 다양하게 쓸 수도 있을 것 같은데요..
x = x 자체를 잡을 것이 아니라 and와 같은 것을 쓰지 못하도록 하면 되지 않나요?
===================================
행동할 때 열정은 자라난다.
댓글 달기