μ •κ·œν‘œν˜„μ‹(regex) 정리

2023. 3. 2. 23:29Β·πŸ–₯️ Language/Vanila Javascript

μ •κ·œ ν‘œν˜„μ‹μ΄λž€?

μ •κ·œ ν‘œν˜„μ‹(regex)은 λ¬Έμžμ—΄μ—μ„œ νŠΉμ • 문자 쑰합을 μ°ΎκΈ° μœ„ν•œ νŒ¨ν„΄μ΄λ‹€.

 

이λ₯Ό μ„ μ–Έν•˜λŠ”λ°μ—λŠ” 두가지 방식이 μžˆλ‹€.

1. μƒμ„±μž ν•¨μˆ˜λ₯Ό μ΄μš©ν•œ 방식

//ν˜•μ‹: new RegExp(ν‘œν˜„μ‹)
const regex1 = new ReExp("^abc");
//ν˜•μ‹: new RegExp(ν‘œν˜„μ‹, ν”Œλž˜κ·Έ)
const regex1 = new ReExp("^abc", "gi");

2. λ¦¬ν„°λŸ΄ 방식

//ν˜•μ‹: /ν‘œν˜„μ‹/
const regexp1 = /^abc/;
//ν˜•μ‹: /ν‘œν˜„μ‹/ν”Œλž˜κ·Έ
const regexp2 = /^abc/gi;

λ³΄λ‹€μ‹œν”Ό μ •κ·œμ‹μ€ ν‘œν˜„μ‹κ³Ό ν”Œλž˜κ·Έλ‘œ 이루어진닀.

 

μ •κ·œ ν‘œν˜„μ‹μ„ μ΄μš©ν•˜λ©΄ μ½”λ“œλ₯Ό κ°„λ‹¨ν•˜κ²Œ κ΅¬ν˜„ν•  수 μžˆμ§€λ§Œ, κ°„λ‹¨ν•œ 만큼 μ½”λ“œμ˜ 가독성이 λ–¨μ–΄μ§„λ‹€λŠ” 단점이 μžˆκΈ°λ„ ν•˜λ‹€.


μ •κ·œ ν‘œν˜„μ‹μ„ μ‚¬μš©ν•˜λŠ” λ©”μ„œλ“œ

jsμ—μ„œ ν•¨κ»˜ μ‚¬μš© κ°€λŠ₯ν•œ λ©”μ„œλ“œλŠ” λ‹€μŒκ³Ό κ°™λ‹€.

λ©”μ†Œλ“œ 문법 μ„€λͺ…
exec μ •κ·œμ‹.exec(λ¬Έμžμ—΄) μΌμΉ˜ν•˜λŠ” ν•˜λ‚˜μ˜ 정보(Array) λ°˜ν™˜
test μ •κ·œμ‹.test(λ¬Έμžμ—΄) 일치 μ—¬λΆ€(Boolean) λ°˜ν™˜
match λ¬Έμžμ—΄.match(μ •κ·œμ‹) μΌμΉ˜ν•˜λŠ” λ¬Έμžμ—΄μ˜ λ°°μ—΄(Array) λ°˜ν™˜
search λ¬Έμžμ—΄.search(μ •κ·œμ‹) μΌμΉ˜ν•˜λŠ” λ¬Έμžμ—΄μ˜ 인덱슀(Number) λ°˜ν™˜
replace λ¬Έμžμ—΄.replace(μ •κ·œμ‹, λŒ€μ²΄λ¬Έμž) μΌμΉ˜ν•˜λŠ” λ¬Έμžμ—΄μ„ λŒ€μ²΄ν•˜κ³ , λŒ€μ²΄λœ λ¬Έμžμ—΄(String) λ°˜ν™˜
split λ¬Έμžμ—΄.split(μ •κ·œμ‹) μΌμΉ˜ν•˜λŠ” λ¬Έμžμ—΄μ„ λΆ„ν• ν•˜μ—¬, λ°°μ—΄(Array)둜 λ°˜ν™˜
toString μƒμ„±μž_μ •κ·œμ‹.toString() μƒμ„±μž ν•¨μˆ˜ λ°©μ‹μ˜ μ •κ·œμ‹μ„ λ¦¬ν„°λŸ΄ λ°©μ‹μ˜ λ¬Έμžμ—΄(String)둜 λ°˜ν™˜

μ •κ·œμ‹ κΈ°λ³Έ 문법

ν‘œν˜„μ‹

ν‘œν˜„μ‹ 의미
^ 1. λ¬Έμžμ—΄μ˜ μ‹œμž‘μ„ ν‘œν˜„
2. [ ... ] λ‚΄λΆ€μ—μ„œλŠ” 뢀정을 의미
$ λ¬Έμžμ—΄μ˜ 끝을 ν‘œν˜„
\b λ‹¨μ–΄μ˜ 경계
\s 곡백 문자 및 νƒ­ λ¬Έμžμ— 맀치
\d μˆ«μžμ— 맀치, [0-9]와 κ°™λ‹€
\w 단어λ₯Ό λ§Œλ“€ 수 μžˆλŠ” κΈ€μž, μˆ«μžμ™€ μ–Έλ”μŠ€μ½”μ–΄λ₯Ό 포함, [A-Za-z0-9_]와 κ°™λ‹€ 
[] κ΄„ν˜Έ μ•ˆμ— 넣은 문자λ₯Ό 맀치
| or 연산도 κ°€λŠ₯
{n, m} μ΅œμ†Œ nλ²ˆμ΄μƒ μ΅œλŒ€m번 μ΄ν•˜μ˜ 반볡

λ©”νƒ€λ¬Έμžμ—μ„œ λŒ€λ¬Έμžλ‘œ ν‘œν˜„λ˜λ©΄ μ†Œλ¬Έμžλ‘œ ν‘œν˜„ν•œ 문자의 λ°˜λŒ€λ₯Ό μ˜λ―Έν•œλ‹€.

ν”Œλž˜κ·Έ

ν”Œλž˜κ·Έ 의미
g κΈ€λ‘œλ²Œμ„ μ˜λ―Έν•˜λ©° λͺ¨λ“  νŒ¨ν„΄μ„ 검색
i λŒ€, μ†Œλ¬Έμžλ₯Ό κ΅¬λ³„ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 것
m 닀쀑 라인의 λ¬Έμžμ—΄μΈ κ²½μš°μ—λ„ 검색

 


μ •κ·œ ν‘œν˜„μ‹ 확인 μ‚¬μ΄νŠΈ

https://regexr.com/

 

RegExr: Learn, Build, & Test RegEx

RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).

regexr.com

'πŸ–₯️ Language > Vanila Javascript' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

JS λ§΅, μ…‹  (0) 2023.05.14
[JavaScript] sort() 원리 μ•Œμ•„λ³΄κ³  μ΄ν•΄ν•˜κΈ°  (0) 2023.04.12
ν™”μ‚΄ν‘œ ν•¨μˆ˜μ—μ„œμ˜ 리턴 μƒλž΅ κ°„λ‹¨νžˆ μ΄ν•΄ν•˜κΈ°  (0) 2023.03.01
μ•Œκ³ κ°€μž 둜컬 μŠ€ν† λ¦¬μ§€(localStorage), μ€‘μš”ν•œ νŠΉμ§•  (0) 2023.02.25
'πŸ–₯️ Language/Vanila Javascript' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • JS λ§΅, μ…‹
  • [JavaScript] sort() 원리 μ•Œμ•„λ³΄κ³  μ΄ν•΄ν•˜κΈ°
  • ν™”μ‚΄ν‘œ ν•¨μˆ˜μ—μ„œμ˜ 리턴 μƒλž΅ κ°„λ‹¨νžˆ μ΄ν•΄ν•˜κΈ°
  • μ•Œκ³ κ°€μž 둜컬 μŠ€ν† λ¦¬μ§€(localStorage), μ€‘μš”ν•œ νŠΉμ§•
jaeyunim
jaeyunim
  • jaeyunim
    λ°₯λ°₯λ°₯qkq
    jaeyunim
  • 전체
    였늘
    μ–΄μ œ
    • πŸ“š ja2yun000 NOTE (43)
      • πŸ§‘‍πŸ’Ό λ„€νŠΈμ›Œν¬ λ…ΈνŠΈ (0)
      • ☁️ ν΄λΌμš°λ“œ (0)
      • ✍️ 회고둝 (1)
      • πŸ–₯️ Language (8)
        • Core Javascript (3)
        • Vanila Javascript (5)
      • πŸ”§ Library (7)
        • React JS (5)
        • WebSocket (2)
      • 🧱 Framework (12)
        • Node.js (9)
        • Django (3)
      • πŸ“ μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ (8)
      • 🀯 데이터ꡬ쑰와 μ•Œκ³ λ¦¬μ¦˜ (7)
      • πŸ€” μž‘λ‹€ν•œ 지식 (0)
  • λΈ”λ‘œκ·Έ 메뉴

    • 🌈 github.com
    • νƒœκ·Έ
    • λ°©λͺ…둝
  • 링크

  • 곡지사항

  • 인기 κΈ€

  • νƒœκ·Έ

    ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€
    ν™”μ‚΄ν‘œ ν•¨μˆ˜
    이진 탐색 μ•Œκ³ λ¦¬μ¦˜
    Cμ–Έμ–΄
    μ½”λ”©ν…ŒμŠ€νŠΈ
    μ•Œκ³ λ¦¬μ¦˜
    μž₯κ³ 
    μ˜€λΈ”μ™„
    둜그인api
    nodejs
    JavaScript
    μžλ°”μŠ€ν¬λ¦½νŠΈ
    Mongo
    Core JavaScript
    JS
    pipenv
    useEffect
    allow function
    Django
    dfs
    React
    Express
    socket.io
    κΉƒν—ˆλΈŒ 둜그인
    μΈμ ‘λ¦¬μŠ€νŠΈ
    유튜브 클둠코딩
    ν‹°μŠ€ν† λ¦¬μ±Œλ¦°μ§€
    μž₯κ³  μ•±
    μž₯κ³  url
    reactjs
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.1
jaeyunim
μ •κ·œν‘œν˜„μ‹(regex) 정리
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”