[완료] 정규표현식 중에 문자 클래스
글쓴이: jellypo / 작성시간: 수, 2003/09/10 - 4:53오후
http://www.getchu.com/soft.phtml?id=24269
이런 주소가 있으면 id인 숫자만을 따로 떼내어 여러번 반복해서 사용하고 싶습니다. 저런 주소는 여러개 있고요.
그리하여 제가 생각해낸 치환법은
sed -e s,'http://www.getchu.com/soft.phtml?id='\([[:digit:]]\)','<img src=\1>,g
이런거였는데 자꾸만 안 되어서 확인해보니 vi에서
/[[:digit:]] 로 검색할 때는 id인 숫자가 모두 선택되는데
/id=[[:digit:]] 으로 검색하면 id=2 이것만 하이라이팅 되더군요. 숫자 첫번째만 찾아집니다. 숫자 전체를 고르게 할 방법이 없을까요?
...실은 전에 한 번 했던건데 다시 하려니 기억이 안나는군요. :wink:
Forums:
일단..
echo "http://www.getchu.com/soft.phtml?id=24269" | sed -e 's/ht.*id=\([0-9]*\)/<img src=\1>/g'
이렇게 하면 되는 군요.
좀더 자세하게 하고 싶지만 단서가 없으니...
-------------------------------
== warning 대부분 틀린 얘기입니다 warning ===
그건요..
'[[:digit:]]' 또는 '[0-9]'만 달랑 쓰시면 숫자 한글자를 의미합니다.
그래서 '/[[:digit:]]'하시면 숫자를 하나 하나씩 결국 모든 숫자를
선택하게 되지만 '/id=[[:digit:]]'라고 쓰시면 'id=' 다음에 숫자 하나만을
선택하게 되지요.
그래서 JellyPo님께서 원하시는대로 하려면 '/id=[[:digit:]]/+'라고 쓰셔야
'id=' 다음의 1개 이상의 숫자를 선택하게 되죠.
그럼...
댓글 달기