정규식의 지독한 고수가 되려면

myxzv의 이미지

어떻게 공부해야 할까요?
머리가 좋지 않을수도 있음을 감안해서 알려주세요..

사이트나, 문서나, 책이나, 사부님이나..

추천 부탁함다 ^^;;

cedar의 이미지

Mastering Regular Expressions, Second Edition
by Jeffrey, E. F. Friedl

책 제목 그대로, 정규식을 마스터할 수 있을 겁니다.

yielding의 이미지

Compiler 혹은 Formal Language에서 context free grammer 까지 공부하면 될듯합니다..
Compilers : Principles, Techniques, and Tools
An Introduction to Formal Languages and Automata
(교보에서 검색하면 나옵니다)

regular expression을 잘 사용하면 좋겠지만 차라리 regular expression을 처리하는 engine을 만들어 보는게 도움이 될거 같군요.

저는 '뭐 잘 몰라도 그렇게 중요한게 아니니까 필요할 때 잠깐 보면 되지' 이런 생각을 가지고 살고있습니다.

Life rushes on, we are distracted

impactbar의 이미지

3라인 이상 정규식 적용.

LinuxMC의 이미지

정규식이라는것이 있기는 하지만 모든 언어가 같은 정규식을 따르지 않는다는건 아시지요. 저같은 경우엔 여러 언어를 먼저 알고 정규식을 공부했는데 한동안 헤메었다지요 ㅡ.ㅡ;; 머 지독한 고수랄것도 없고 정규식을 처리하는 엔진을 만들어 보시는것이 가장 확실할것 같습니다. 이기회에 새로운 언어를 한번 만들어 보심이 어떠신지요 ^^ 테스트는 제가 후후

무제? 무죄!

neocoin의 이미지

번역서
정규 표현식 완전 해부와 실습(개정판)

강추

검색 방법, 각 플렛폼별 차이 효과, 확장 문법

cinsk의 이미지

automata 책을 보세요. ;)

fibonacci의 이미지

impactbar wrote:
3라인 이상 정규식 적용.

오우! 죽입니다.

No Pain, No Gain.

맹고이의 이미지

fibonacci wrote:
impactbar wrote:
3라인 이상 정규식 적용.

오우! 죽입니다.

전 30라인 이상이 되어야 정규식 쓸맘이 생기더군요. :D
그 이하는 안돌아가는 머리로 정규식을 생각하는 것 보다
노가다가 더 빠릅니다... :oops:

pynoos의 이미지

흔히 접할 수 있는 정규식 라이브러리는 세가지 정도인것 같습니다.

첫번째는 SysV 계열 정규식이고,
둘째는 Posix 정규식이고,
세째는 PCRE라고하는 Perl Compatible Regular Expression 입니다.

SysV 계열은 상당히 API가 구립니다.(?) 잘 이해하면 좋은데, 그다지 추천하고 싶지 않군요.

Posix 정규식은 모든 OS에서 제공하기 때문에 좋습니다. 단 [:alpha:] 같은 참으로 정이 안가는 정규식표현이 맘에 안듭니다. 게다가, Redhat 7.1 일부 라이브러리는 Multi line과 관련하여 버그가 있더군요.

PCRE는 요즘에야 쓰기 시작하는데, perl에 익숙한 사람들에게 간단하고 좋습니다. 다만, 상용 OS에는 따로 설치해야한다는 단점이 있습니다.

하나씩 사용해보세요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.