정규식표현

Jun 7th 2020

정규식 표현 기본

  • Letters

    • 입력과 같은 문자열 반환
  • Digits

    • 입력한 숫자자와 같은 숫자 반환
  • /d

    • 문자열중 첫번째 숫자 하나만
  • /D

    • 문자열중 숫자가 아닌 첫번째 문자
  • .

    • 문자열중 어떤 문자열이던 첫번째 문자열
    • /d. 이면 숫자 다음 첫번째 문자열 하나까지
  • .

    • 문자열에서 dot 선택하고 싶을때
  • [abc]

    • 문자열에서 a, b, c가 있는 문자열
    • abc문자열에서는 a만 반환
    • zbc문자열에서는 b만 반환
  • abc

    • 문자열에서 a, b, c가 없는 문자열
  • [a-z]

    • 문자열에서 괄호안에 입력되는 문자
    • [A-C][n-p][a-c]

    • 첫번째 문자는 [A-C]
    • 두번째 문자는 [n-p]
    • 세번째 문자는 [a-c]
  • [0-9]

    • 문자열에서 괄호안에 입력되는 숫자
  • \w

    • 알파벳 문자
  • \W

    • 알파벳 문자가 아닌것
  • {m}

    • m번 반복
  • {m, n}

    • m ~ n 번 반복
  • *

    • 0번 또는 그 이상 매칭 되는 문자열
  • +

    • 한번 또는 그 이상 매칭 되는 문자열
  • ?

    • optional character
  • /s

    • 공백
  • /S

    • 공백이 아닌 문자열
  • ^...$

    • ^ 문자열의 시작
    • $ 문자열의 끝
  • (...)

    • capture group
    //파일명전체, 파일명(확장자제외) 두개 반환
    "file_record_transcript.pdf".match(/^(file.+)\.pdf$/);
    //(2) ["file_record_transcript.pdf", "file_record_transcript", index: 0, input: "file_record_transcript.pdf", groups: undefined]
    
    //파일명전체 한번 반환
    "file_record_transcript.pdf".match(/^file.+\.pdf$/);
    //["file_record_transcript.pdf", index: 0, input: "file_record_transcript.pdf", groups: undefined]
    
    //파일명전체 두번반환
    "file_record_transcript.pdf".match(/^(file.+\.pdf)$/);
    //(2) ["file_record_transcript.pdf", "file_record_transcript.pdf", index: 0, input: "file_record_transcript.pdf", groups: undefined]
  • (a(bc))

    • captrue Group
    "Jan 1987".match(/(\w+ (\d+))/);
    //(3) ["Jan 1987", "Jan 1987", "1987", index: 0, input: "Jan 1987", groups: undefined]0: "Jan 1987"1: "Jan 1987"2: "1987"groups: undefinedindex: 0input: "Jan 1987"length: 3__proto__: Array(0)
  • (.*)

    • Captrue all
    "1280x720".match(/(\d+)x(\d+)/);
    //(3) ["1280x720", "1280", "720", index: 0, input: "1280x720", groups: undefined]
  • (abc|def)

    • all condition
    • 괄요한 문자열이 포함된 단어 모두 반환
    • "I love cats".match(/I love (cats|dogs)/)
      //(2) ["I love cats", "cats", index: 0, input: "I love cats", groups: undefined]

    "I love dogs".match(/I love (cats|dogs)/) //(2) ["I love dogs", "dogs", index: 0, input: "I love dogs", groups: undefined]

    "I love cats".match(/(cats|dogs)/) //(2) ["cats", "cats", index: 7, input: "I love cats", groups: undefined]

match

  • syntax

    string.match(regExp)

  • return

    정규식에 맞는 value가 배열에 담겨 반환된다. 값이 없으면 Null 반환

  const reg = /(\D*)(\d*)/i;
  const A = "img10".match(reg);
  // A = (3) ["img10", "img", "10", index: 0, input: "img10.png", groups: undefined], a = "img10.png"

참고

RegexOne