πŸ“—
TIL
  • About
  • javascript
    • GoodParts
      • ν”„λ‘œν† νƒ€μž… 방식
      • RegexComponent
      • μž¬κ·€μ  호좜 (Recursive Call)
      • 객체λ₯Ό κΈ°μˆ ν•˜λŠ” 객체
      • μ˜ˆμ™Έ (Exception)
      • 호좜
      • λ¬Έμžμ—΄ (Strings)
      • μ°Έμ‘° (Reference)
      • λ°°μ—΄μ˜ νŠΉμ„±λ“€
      • 숫자 (Numbers)
      • λ©”λͺ¨μ΄μ œμ΄μ…˜ (Memoization)
      • λͺ¨λ“ˆ (Module)
      • μ—΄κ±° (Enumeration)
      • μ •κ·œ ν‘œν˜„μ‹
      • μ •κ·œ ν‘œν˜„μ‹ 객체 생성
      • ν”„λ‘œν† νƒ€μž… (Prototype)
      • 콜백 (Callback)
      • λ¬Έμž₯ (Statements)
      • ν•¨μˆ˜ ν‘œν˜„μ‹ μš”μ•½
      • μ˜μ‚¬ 클래슀 방식 (Pseudoclassical)
      • ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•œ 방식
      • ν΄λ‘œμ € (Closer)
      • λ°°μ—΄ (Array)
      • κΈ°λ³Έ νƒ€μž…μ— κΈ°λŠ₯ μΆ”κ°€
      • μžλ°”μŠ€ν¬λ¦½νŠΈ 뢄석
      • 인수 λ°°μ—΄(arguments)
      • Function
      • μœ νš¨λ²”μœ„(Scope)
    • YouDon'tKnowJS
      • νƒ€μž…
      • Native
      • λͺ…μ‹œμ  κ°•μ œλ³€ν™˜
      • λ¬Έμžμ—΄
      • ν•¨μˆ˜ vs 블둝 μŠ€μ½”ν”„
      • ν΄λ‘œμ €
      • λ°°μ—΄
      • 숫자
      • μ—°μ‚°μž μš°μ„ μˆœμœ„
      • μŠ€μ½”ν”„
      • μ•”μ‹œμ  κ°•μ œλ³€ν™˜
      • 래퍼
      • Statement
      • ν˜Έμ΄μŠ€νŒ…
      • Coercion
    • javascript
Powered by GitBook
On this page
  • ꡬ성 μš”μ†Œ
  • 선택
  • μ‹œν€€μŠ€
  • μ •κ·œ ν‘œν˜„μ‹ μš”μ†Œ
  • μ΄μŠ€μΌ€μ΄ν”„
  • κ·Έλ£Ή
  • 클래슀

Was this helpful?

  1. javascript
  2. GoodParts

RegexComponent

ꡬ성 μš”μ†Œ

선택

  • μ •κ·œ ν‘œν˜„μ‹μ˜ μ„ νƒμ—λŠ” ν•˜λ‚˜ μ΄μƒμ˜ μ •κ·œ ν‘œν˜„μ‹ μ‹œν€€μŠ€κ°€ 포함

  • 각 μ‹œν€€μŠ€λŠ” | 문자둜 ꡬ뢄됨

  • 선택 ꡬ문은 각 μ‹œν€€μŠ€ μˆœμ„œλŒ€λ‘œ ν•˜λ‚˜μ”© μΌμΉ˜ν•˜λŠ”μ§€ λŒ€μ‘°ν•΄λ³΄κ³  μΌμΉ˜ν•˜λŠ” 것을 λ§Œλ‚˜λ©΄ 뒀에 μ‹œν€€μŠ€κ°€ 더 λ‚¨μ•˜λ”λΌλ„ 그것을 μΌμΉ˜ν•˜λŠ” κ²ƒμœΌλ‘œ λ΄„

μ‹œν€€μŠ€

  • μ •κ·œ ν‘œν˜„μ‹μ˜ μ‹œν€€μŠ€λŠ” ν•˜λ‚˜ μ΄μƒμ˜ μ •κ·œ ν‘œν˜„μ‹ μš”μ†Œλ₯Ό 포함

  • 각각의 μš”μ†Œ λ’€μ—λŠ” μ •κ·œ ν‘œν˜„μ‹ μš”μ†Œκ°€ λͺ‡ 번 λ°˜λ³΅ν•΄μ„œ λ‚˜μ˜€λŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μˆ˜λŸ‰μž (*, + λ“±)λ₯Ό μ„ νƒμ μœΌλ‘œ 뢙일 수 있음

μ •κ·œ ν‘œν˜„μ‹ μš”μ†Œ

/ [ ] ( ) { } ? + * | . ^ $

  • μœ„ λ¬Έμžλ“€μ„ λ¦¬ν„°λŸ΄λ‘œ λ‹€λ€„μ§€κ²Œ ν•˜λ €λ©΄ μ•žμ— \λ₯Ό λΆ™μ—¬ μ΄μŠ€μΌ€μ΄ν”„ μ‹œμΌœμ•Όν•¨

  • 단, 일반 μˆ«μžλ‚˜ 문자 μ•žμ—λŠ” \λ₯Ό λΆ™μ—¬λ΄€μž 아무 효용이 μ—†μŒ

    • μ΄μŠ€μΌ€μ΄ν”„λ˜μ§€ μ•Šμ€ .(λ§ˆμΉ¨ν‘œ)λŠ” 쀄 끝 문자λ₯Ό μ œμ™Έν•œ λͺ¨λ“  λ¬Έμžμ— μΌμΉ˜ν•¨

    • μ΄μŠ€μΌ€μ΄ν”„λ˜μ§€ μ•Šμ€ ^λŠ” lastIndex 속성이 0일 λ•Œ ν…μŠ€νŠΈμ˜ μ‹œμž‘μ— λŒ€μ‘

    • μ΄μŠ€μΌ€μ΄ν”„λ˜μ§€ μ•Šμ€ $λŠ” ν…μŠ€νŠΈμ˜ 끝과 일치

μ΄μŠ€μΌ€μ΄ν”„

  • μ—­μŠ¬λž˜μ‹œ()λŠ” μ •κ·œ ν‘œν˜„μ‹ μš”μ†Œμ™€ λ¬Έμžμ—΄μ—μ„œ λͺ¨λ‘ μ΄μŠ€μΌ€μ΄ν”„λλ‹€λŠ” 것을 λ‚˜νƒ€λƒ„

    • \f : νΌν”Όλ“œ

    • \n : LF(λΌμΈν”Όλ“œ)

    • \r : CR(캐리지리턴)

    • \t : νƒ­

    • \u : 4자리 16μ§„μˆ˜(μœ λ‹ˆμ½”λ“œ)

    • \d : 숫자(0-9)

    • \b : 단어경계

    • \s : 곡백(whitespace)

    • \w : 단어 문자

// μ€‘λ³΅λœ 단어λ₯Ό 찾고자 ν•˜λŠ” μ½”λ“œ

var double_words = /([A-Za-z\u00c0-\u1FFF\u2800-\uFFD'\-]+)\s+\1/gi;

κ·Έλ£Ή

  • 캑처

    • κ΄„ν˜Έλ‘œ 묢인 μ •κ·œ ν‘œν˜„μ‹ 선택

    • 그룹에 μΌμΉ˜ν•˜λŠ” λ¬Έμžλ“€μ€ 캑처됨

  • λΉ„μΊ‘μ²˜

    • (?: 접두어가 μžˆλŠ” 선택

    • λ‹¨μˆœνžˆ μΌμΉ˜ν•˜λŠ”μ§€λ₯Ό 확인할 뿐 μΌμΉ˜ν•˜λŠ” ν…μŠ€νŠΈλ₯Ό μΊ‘μ²˜ν•˜μ§€λŠ” μ•ŠμŒ (κ·Έλž˜μ„œ μ„±λŠ₯이 μ•½κ°„ 더 빠름)

  • κΈμ •ν˜• λ£©μ–΄ν—€λ“œ

    • (?= 접두어λ₯Ό 가짐

    • λΉ„μΊ‘μ²˜ κ·Έλ£Ήκ³Ό μœ μ‚¬ν•˜λ‚˜ λ‹€λ§Œ μΌμΉ˜λ˜λŠ” 뢀뢄을 찾은 후에 ν…μŠ€νŠΈλ₯Ό 그룹이 μ‹œμž‘ν•˜λŠ” μ§€μ μœΌλ‘œ λ‹€μ‹œ 돌림

  • λΆ€μ •ν˜• λ£©μ–΄ν—€λ“œ

    • (?! 접두어λ₯Ό 가짐

    • κΈμ •ν˜• λ£©μ–΄ν—€λ“œμ™€ μœ μ‚¬ν•˜λ‚˜ λ‹€λ§Œ μ°Ύμ§€ λͺ»ν–ˆμ„ λ•Œκ°€ μΌμΉ˜ν•˜λŠ” 경우

클래슀

  • νŠΉμ • 문자 μ§‘ν•© ν•˜λ‚˜λ₯Ό μ§€μ •ν•˜λŠ”λ° νŽΈλ¦¬ν•œ 방법

(?:a|e|i|o|u) // μ•ŒνŒŒλ²³ λͺ¨μŒ 일치

[aeiou] // 클래슀둜 λŒ€μ‹ ν•¨
Previousν”„λ‘œν† νƒ€μž… 방식Nextμž¬κ·€μ  호좜 (Recursive Call)

Last updated 4 years ago

Was this helpful?