정규식(Regular Expression) 대충 정리...

정규식은 학생때도 배웠고 가끔 접하긴 하는데 할때마다 어려운것 같다. 학생때는 아~ 이런거구나 한적도 있는것 같은데 코딩할려고 하면 막상 매칭시킬려고 하면 왜 이렇게 어려운건지.... 할때마다 찾아야 되고.... 정규식만 자유자재로 써도 내공이 한갑자는 상승할것 같다는 생각도 하지만... 그렇다고 막상 따로 공부는 잘 안되고....

자바스크립트에서는(여기서만 이런건지 잘 모르겠지만...) 정규식을 /.../로 묶어준다.

var pattern = /rules/;

식으로 써주면 된다.

^ : 시작표시(매칭이 처음부터 되어야 함)
$ : 끝표시(문자열 끝에 매칭되어야 함)
[] : 문자열 셋
      [ab][a-z][0-9] 라고 써주면 첫글자는 a또는 b이고 그 다음에 a~z가 나오고 그 뒤에 0~9가 나온다는 뜻..
      []안에서 ^쓰면 그 문자가 아닌것들
* : 0번 이상 반복
+ : 1번 이상 반복
? : 0 또는 1회
{} : 횟수 표시
      [a]{2}이면 aa이고 [a]{2,}이면 a가 2개 이상인거 [a]{2, 4}이면 aa, aaa, aaaa 이다.
\d : 숫자, [0-9]와 같음
\D : 숫자가 아닌 것들 [^0-9]와 같음
| : Or의 뜻
{} : 그룹을 묶어 준다.
. : 뉴라인(\n)제외한 한 문자 (진짜 .을 찍기 위해선 \.으로 표시해야 한다.)

더 자세한 문법은  Wikipedia 새창으로 열기 참고

옵션 /rules/ig 와 같이 써준다.

g : 글로벌의 뜻. 전역 매칭을 한다. 처음부터가 아닌 전체에서 정규식이 맞는걸 찾는다.
i : case Insensitive, 대소문자 구별안함
m : Multiline



정규식 테스트 사이트 새창으로 열기

덧) 특수문자를 매칭시켜주려면 \\를 사용한다. \\. 이나 \\| 처럼..... 2008.7.11
2008/04/17 11:21 2008/04/17 11:21
크리에이티브 커먼즈 라이센스
Creative Commons License

Trackback URL : http://blog.outsider.ne.kr/trackback/141

Comments List

  1. 잘 보고 갑니다.
    간단하게 정리되어 있어서 보기 좋네요 ㅎㅎ

    1. 감사합니다..
      은근 손에 안붙는게 정규식인것 같아요.. ㅎ

  2. Thank you.

    1. you're welcome

Leave a Reply

Facebook Comments

  • Categories

    List (922)
    BlaBlaBla~ (127)
    JAVA (165)
    Scala (55)
    .NET (21)
    PHP (1)
    Database (31)
    Programming (150)
    Publishing (41)
    Javascript (132)
    node.js (88)
    CoffeeScript (10)
    Ruby on Rails (11)
    RIA (10)
    Web 2.0 & Semantic (47)
    Ubuntu (6)
    Mobile (23)
    Cloud (4)
  • Tag Cloud

  • Calendar

    «   2013/05   »
          1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30 31  
  • Archives

  • My Books

    NODE.JS 프로그래밍
  • Recent Posts

  • Recent Comments

  • Recent Trackbacks

  • Recent My Delicious

  • Site Stats

    • Total hits: 2488652
    • Today: 213
    • Yesterday: 2983
  • 4352

    3221

    0

    -30 days

    today : 213

    Google PageRank Checker Powered by  MyPagerank.Net