[완료] 정규식중 "*" 에 대한 질문입니다.
글쓴이: 자일자일 / 작성시간: 수, 2008/07/09 - 9:44오후
정규식 질문
제가 지금 보고 있는 문서의 의하면...
--
'*'는 바로 앞 한 문자의 반복을 나타낸다. 즉 "23*4"는 "2와3, 아무 문자나 여러 개, 4"를 나타내지 않는다.(이의 경우 "23.*4"이다.) 위의 식은 "한 개의2, 여러 개의 3, 한 개의4" 를 나타낸다.
--
위와 같은 설명이 있습니다. 이는 제가 DOS시절 사용하던 * 과는 조금 다른데요.
DOS / Win 에서는 1234* 은 1234와 그 이후에 어떤 문자가 있어도 다 OK
123*567는 123 과 567 사이에 어떤 문자가 있어도 다 OK 였는데
UNIX/LINUX에서는 다른 방식으로 작동을 한다해서.. 직접 테스트도 해 보았는데..
[root@diamond bin]# find . -name "*user*" -print
./vadduser
./vdeluser
./vsetuserquota
./vdeloldusers
./vmoduser
./vuserinfo
이렇게 DOS/Win에서 사용하던 *의 방식과 같은 방식으로 작동을 하는데
제가 문서를 잘못 이해하고 있는지, 무엇이 잘못인지 알고 싶습니다.
감사합니다.
(참고 문서 http://www.linuxfocus.org/Korean/July1998/article53.html)
Forums:
와일드카드와
와일드카드와 정규식은 좀 다릅니다.
http://en.wikipedia.org/wiki/Wildcard_character
http://en.wikipedia.org/wiki/Regex
아.. 또 이렇게 다르군요
감사합니다.
알려주신것을 바탕으로 공부해보겠습니다.
wildcard는 shell에서
wildcard는 shell에서 확장되는 것으로 알고 있습니다.
요즘 맛들인 erlang의 regexp 모듈에는 sh_to_awk라는 shell형식의 wildcard가 포함된 문자열을 awk 정규표현식으로 바꾸어주는 함수가 있습니다.
몇줄 안됩니다.
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
아직 제가 이해할 수 있는 범위가 아니네요...^^
아직 제가 이해할 수 있는 범위가 아니네요...^^
나중에 내공을 좀 더 쌓고 참고해야겠습니다.
감사합니다.
댓글 달기