Tag: regex

grep, egrep…???

이 둘의 차이는, 확장 Regex(extended regular expressions) 가 지원되느냐 마느냐이다. 이게 또 뭔 소린가 하면.. 간단하게 말해서, . 을 그냥 문장부호 .(즉, Pattern) 으로 인식할지, 아니면 모든 문자(즉, Metacharacter 역할)를 뜻할지를 결정해준다. 그냥 grep 면 . 은 Pattern 이고, egrep 면 Metachracter 가 된다. 그런데.. 다음과 같이하면 오류가 발생한다. 왜?? 왜 이런 오류가..? 게다가 뭔

Regex : Assert/Assertion 의 의미는?

2015.12.30 에, 이글루스에 이에 관련한 내용을 썼다.다음은 원문이다. Regex 에서 종종 나오는 표현이 ‘Assert’ 다.이걸 찾아봐도 확실하게 ‘뭐다’라고 나온 것은 볼 수 없었다. 그런데..Regular Expression Cookbook 을 보다보니, 대충 짐작은 가는 것 같다.실마리가 된 것은 Zero Width Assertion 이라는 표현이다. 먼저, Assert 가 갖는 기본적인 의미는 ‘(강력히) 주장하다’이다. Regex 에선 이런 의미를 부여해봤자 잘 들어맞질

Mp3tag regex; regexp 함수

이런 거 할 때마다 느끼는 건데, 이렇게 자동화(?)를 하려고 애쓰는 시간에, 직접 타자를 쳐서 입력했다면 ‘결과’는 더 빨리 얻을 수 있었을 거다.그러나, 이렇게 함으로써 하나라도 더 배운다.. 라고 늘 스스로 위로해보지만, 글쎄다. ‘3년 후를 위한! 재즈기타 연습법’이란 책의 부록 CD 를 Flac 으로 옮기고 보니, 파일명이 모두 일본어로 들어가 있었다. 그래서 책을 참고하여, Tag 제목(Title)을

Regex: Backtrack 이란?

아래에 쓸 개념이 맞는지는 확실히는 모르겠다. 하지만 맞는 듯 하다. 이런 저런 Regex 에 관련된 글을 읽으면서 Backtrack 이란 개념을 여러 번 접했는데, 그간 제대로 정리를 못했다.여기서, 더 잊기 전에, 자취를 남기도록 한다. Backtrack 이란 Regex 엔진이 작동하는 방식 중 하나를 일컫는데, Greedy Quantifier 를 쓸 때 나타나는 현상이다. Greedy/Lazy 에 관해서는 예전에 정리한 적이

Vim & Regex

그동안 Vim 에 관한 책을 적어도 2권은 봤고, 두꺼운 책 하나도 가끔 참고하는 정도로 보곤 했는데, 오늘 쓸 내용에 대해선 어느 책에서도 볼 수 없었다. 아주 샅샅이 찾아본 건 아니지만, 3개 책 모두, 이 내용은 빠져있었다. 그 책들은 다음과 같다. 손에 잡히는 Vim Hacking Vim 7.2 (Packt) Learning the vi and Vim Editors: Text Processing

Regex : 줄바꿈 포함.. 그러나 왜 안돼??

맞춤법에 무지한 이들을 살짝 놀리느라, 또는 그저 재미를 위하느라, 요즘 가끔, ‘외않되?’라는 표현이 쓰이기도 하더라. ‘외않되’라.. 재밌기도 하고, 씁쓸하기도 하다.20년 전에 비해서 ‘글’을 쓰는 사람이 기하급수로 늘었기 때문에, 그만큼 글의 질은 떨어질 수 밖에 없고, 당연히 맞춤법을 제대로 지키는 글은 보기가 힘들어졌다.저 정도는 맞춤법도 아니고, 그저 기본 상식인데… 요즘 교육으로는 저 만큼의 지식을 기대하기도 어렵나보다.

(Python) Regex: POSIX bracket-expression “character class”

제목이 모두 꼬부랑 말로 되어 버렸네.허나, 번역은 불가능하다. 굳이 한다면 ‘대괄호 표현식’ 정도나 가능할까? 아무튼..python3 에서, 다음과 같은 실험을 해봤다. bb 는 제대로 매칭을 했는데, aa 와 cc 는 매칭 결과 없음.cc 는 한글(유니코드)라 그런가보다하고 생각할 수도 있지만, aa 는 왜? ‘convention’ 이 나와야 정상이 아닌가?? 이 때문에 30분에서 한시간쯤, 검색도 하고, 갖고 있는 모든

Regex : 괄호 뒤에 오는 물음표가 의미하는 바는? (abcd)? 에 숨겨진 뜻.

이렇게 알게된 지식을 오래 오래 간직하면 좋으련만..그나마 여기에 이렇게 적어놓는 게 큰 도움이 되리라고 굳게 믿으며 글을 시작한다. 며칠 째 Regex 에서 헤어나지 못하고 있다. 나이가 들어서인지 집중을 오래 하면 여기 저기 삭신이 쑤신다.이건 나이가 들어서가 아니라 운동을 안해서일테지만.. 자! 이런 Regex 를 보자.Python 으로 실험해봤다. 어려운 건 하나도 없다. 다음 문제. 여기도 어려울 게

Regex.. 참 어렵고도 신기하고도..

Regex 를 잘 알면, 정말 며칠 걸릴 복잡한 작업도 간단하게 끝낼 수가 있다. 헌데.. 이 Regex 라는거. 작성할 때는 나름대로 논리를 동원해서 만들어낼 수가 있는데, 이미 만들어진 Regex 를 해독하려면 도무지 무슨 뜻인지 금방 와닿지가 않는다. 내가 만든 표현도 그럴진대, 남이 만들어놓은 건, 항목 수가 3개만 넘어가도 잘 해석(?)이 되지 않는다. 복잡하지 않은 표현식들도 마찬가지.

python3 regex(python3-regex module), \K 옵션 사용 가능.

Perl 에서 처음 본 /K 를, Python3 에서도 사용 가능하다는 사실을 오늘 알게됐다.예전 블로그에 쓴 글, Shell Script 를 위한, IP 주소 확인, 그리고 cut 사용법.에서 이 기능에 대해 정리한 적이 있다. 이 기능이 참 편한데, 다소 복잡한 Look Around 를 사용하지 않고 간단히, 그리고 만들고, 읽기 쉬운 방법으로 원하는 목적을 이룰 수 있기 때문이다.