regular expressions 관련 질문입니다.
글쓴이: lovethecorners / 작성시간: 화, 2006/10/03 - 12:19오후
예를 들어서 다음과 같은 쿼리가 있을때 where 와 group 사이에있는 문자열만빼내고 싶습니다. 어떤식으로 regular expressions을 사용해야 하는지 알려주시면 감사하겠습니다.
select ID from users where priority='' and test='yes' group by ID
priority='' and test='yes' 이문자열만 빼내려 합니다.
Forums:
grouping을 쓰면 되겠네요.
query.txt
다음처럼 where와 group사이는 2번째 그룹이 되므로 두번째 그룹 \2만 뽑아내면 되겠죠.
sed 명령사용
>sed s/\(.*\)where\(.*\)group\(.*\)/\2/i query.txt
priority='' and test='yes'
test='yes'
perl버젼
extract.pl
./extract.pl query.txt
priority='' and test='yes'
test='yes'
aero님 덕에 많은것
aero님 덕에 많은것 배웁니다. perlmania에도 올렸는데, 다음부터는 그냥 이곳에 질문해야겠습니다...
grouping은 생각도 못했습니다. =~ s/// 만가지고 이렇게 저렇게 해도모르겠기에 질문드렸는데, 항상 질문보다 많은 답변에 감사드립니다.
==
more than one way to do it
말로만 블로거: http://gojdweb.egloos.com
댓글 달기