^ 를 NOT 의 의미로 사용 하신거라면 "(",")"가 "[","]"로 바뀌어야 할듯합니다.
[(b{2})|^(b{2})] 가 좀더 근접할듯..
두 분 모두 실수하셨습니다. :) (b{2}|[^b]{2})가 맞습니다.
- 토끼군
실수는 없죠..다만 표현의 차이가 있을뿐입니다..:wink:
% cat test
bb
cc
nachnine 님의 NOT 2B는 움직이지 않습니다.
% grep -E "^b{2}" test
bb
제것은 움직입니다.
% grep -E "[^(b{2})]" test
cc
토끼군님것도 움직이지요
% grep -E "[^b]{2}" test
cc
아마 그 정규표현식은 /bb|[^b]{2}/였던 것으로 기억합니다. b[^b]나 [^b]b는 해당하지 않지요. bc, cb도 함께 넣으셔서 테스트해 보시면 아실 겁니다. :)
(b{2}|^b{2})의 경우 bb가 들어 있는 모든 문자열이 매칭됩니다. (^b{2}는 bb로 시작하는 문자열을 뜻합니다)
[(b{2})|^(b{2})]의 경우, []로 묶인 모든 meta character가 그냥 일반 문자로 인식되기 때문에 b, 2, {, }, |, ^, (, ) 중 하나라도 들어 있는 모든 문자열이 매칭됩니다.
(b{2}|[^b]{2})의 경우 [^b]가 "b가 아닌 문자"를 가리키기 때문에, b 두 개 혹은 b가 아닌 문자 두 개가 연속해서 들어 있는 모든 문자열이 매칭됩니다.
0/^.*$//
a//z9az8az7az6az5az4az3az2az1aza/
b/z([0-9]?)a/x$19x$18x$17x$16x$15x$14x$13x$12x$11x$10/
b?/z([0-9]?)a/b
c/x([0-9][0-9]?)/$1 botles uv beer. $1 botles uv beer on the wall, $1 botles uv beer, Take 1 down and pass it around, /
c?/x([0-9][0-9]?)/c
d/^99 botles uv beer. //
e/, 0 botles uv beer.*$/, No more botles uv beer on the wall./
예, 정규식 재미있죠~Mastering Regular Expres
예, 정규식 재미있죠~
Mastering Regular Expressions는 펄을 모를때 보셔도 상관없습니다.
Perl을 주 도구로 쓰긴 하지만, Python, .NET, Java, Vi, Sed, grep 등에서도 정규식을 어떻게 사용하고 차이는 무엇인지 잘 알려주거든요.
그리고 "정규식 완전 해부와 실습" 이라는 제목으로 국내 번역서도 나와있답니다.
...
천 단위마다 숫자에 , 넣어주기
제가 좋아하는 예제 중 하나입니다.
아래 예제는 'perl.or.kr' 사이트에 있는 예제에요.
(천 단위마다 숫자에 , 넣어주기)
A few Good Man
자세히 보지는 못했지만 이런곳도 있습니다.http://www.rege
자세히 보지는 못했지만 이런곳도 있습니다.
http://www.regexlib.com/
"정규식 완전 해부와 실습" 번역이 무척 잘 되어 있는 책입니다.전
"정규식 완전 해부와 실습" 번역이 무척 잘 되어 있는 책입니다.
전 한 5장까지 읽고 그 다음을 못 나가고 있습니다. ^^ 3장까지
는 쉬운데 그 뒤서부터는 좀 머리가 아프더군요. 그래도 3 장
까지만 읽어도 vim 에서 정규 표현식을 쓰는데 무리가 없죠!
(b{2}|^b{2}) 정규식이 맞게 됐나 모르겠네요
(b{2}|^b{2})
정규식이 맞게 됐나 모르겠네요
셰익스피어 햄릿에 나오는 유명할 말입니다 ^^
[quote="nachnine"](b{2}|^b{2}) 정
^ 를 NOT 의 의미로 사용 하신거라면 "(",")"가 "[","]"로 바뀌어야 할듯합니다.
[(b{2})|^(b{2})] 가 좀더 근접할듯..
[quote="신승한"][quote="nachnine"](b{2}|^b{
두 분 모두 실수하셨습니다. :) (b{2}|[^b]{2})가 맞습니다.
- 토끼군
[quote="tokigun"][quote="신승한"][quote="na
역시 토끼군..:)
[quote="tokigun"][quote="신승한"][quote="na
실수는 없죠..다만 표현의 차이가 있을뿐입니다..:wink:
nachnine 님의 NOT 2B는 움직이지 않습니다.
제것은 움직입니다.
토끼군님것도 움직이지요
[quote="신승한"][quote="tokigun"][quote="신승
아마 그 정규표현식은 /bb|[^b]{2}/였던 것으로 기억합니다. b[^b]나 [^b]b는 해당하지 않지요. bc, cb도 함께 넣으셔서 테스트해 보시면 아실 겁니다. :)
(b{2}|^b{2})의 경우 bb가 들어 있는 모든 문자열이 매칭됩니다. (^b{2}는 bb로 시작하는 문자열을 뜻합니다)
[(b{2})|^(b{2})]의 경우, []로 묶인 모든 meta character가 그냥 일반 문자로 인식되기 때문에 b, 2, {, }, |, ^, (, ) 중 하나라도 들어 있는 모든 문자열이 매칭됩니다.
(b{2}|[^b]{2})의 경우 [^b]가 "b가 아닌 문자"를 가리키기 때문에, b 두 개 혹은 b가 아닌 문자 두 개가 연속해서 들어 있는 모든 문자열이 매칭됩니다.
:)
- 토끼군
정규식만으로 프로그래밍을 할 수 있는 Regxy라는 프로그래밍 언어가 있
정규식만으로 프로그래밍을 할 수 있는 Regxy라는 프로그래밍 언어가 있습니다.
http://c2.com/cgi/wiki?RegXy
아발발다빠따반반나다발딸발발다빠따따맣발발다뿌
희멓터벅더떠벋떠벌더벌벌떠벌떠더법벍떠더벌벌떠