Seize your moment! πŸ‘Ύ

μ•ˆλ…•ν•˜μ„Έμš”. Ericμž…λ‹ˆλ‹€. 제 λΈ”λ‘œκ·Έμ— λ°©λ¬Έν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

πŸ’» κ°œλ°œκ³΅λΆ€/IDE

[Eric's IDE] Visual Studio Codeμ—μ„œ μ •κ·œ ν‘œν˜„μ‹(Regex) 으둜 κ²€μƒ‰ν•˜κΈ°. βœ…

Eric_ko 2023. 7. 15. 21:12

1. μ†Œκ°œ

Visual Studio Code(VSCode)λŠ” ν”„λ‘œκ·Έλž˜λ¨Έλ“€μ—κ²Œ 인기 μžˆλŠ” ν…μŠ€νŠΈ 에디터 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€.

κ·Έ 이유 쀑 ν•˜λ‚˜λŠ” κ°•λ ₯ν•œ 검색 및 μΉ˜ν™˜ κΈ°λŠ₯을 μ œκ³΅ν•˜κΈ° λ•Œλ¬ΈμΈλ°μš”,

특히 μ •κ·œ ν‘œν˜„μ‹(Regex)을 ν™œμš©ν•˜λ©΄ μ½”λ“œμ—μ„œ λ³΅μž‘ν•œ νŒ¨ν„΄μ˜ λ¬Έμžμ—΄μ„ μ‰½κ²Œ μ°Ύμ•„λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

이 ν¬μŠ€νŠΈμ—μ„œλŠ” VSCodeμ—μ„œ μ •κ·œ ν‘œν˜„μ‹μ„ μ–΄λ–»κ²Œ μ‚¬μš©ν•˜λŠ”μ§€,

그리고 λ‹€μ–‘ν•œ 예제λ₯Ό 톡해 μ‹€μ œλ‘œ μ–΄λ–»κ²Œ μ μš©ν•  수 μžˆλŠ”μ§€ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

 

2. μ •κ·œ ν‘œν˜„μ‹(Regex)μ΄λž€?

μ •κ·œ ν‘œν˜„μ‹(Regex)λŠ” νŠΉμ •ν•œ κ·œμΉ™μ„ 가진 λ¬Έμžμ—΄μ˜ 집합을 ν‘œν˜„ν•˜λŠ” 데 μ‚¬μš©ν•˜λŠ” ν˜•μ‹ μ–Έμ–΄μž…λ‹ˆλ‹€.

이λ₯Ό μ΄μš©ν•˜λ©΄ λ¬Έμžμ—΄μ—μ„œ νŠΉμ • νŒ¨ν„΄μ„ μ°Ύκ±°λ‚˜ μΉ˜ν™˜ν•˜λŠ” λ“±μ˜ μž‘μ—…μ„ 효율적으둜 μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

3. VSCodeμ—μ„œ μ •κ·œ ν‘œν˜„μ‹ μ‚¬μš©ν•˜κΈ°

3.1. μ •κ·œ ν‘œν˜„μ‹ 검색 ν™œμ„±ν™”

VSCodeμ—μ„œ μ •κ·œ ν‘œν˜„μ‹μ„ μ‚¬μš©ν•˜λ €λ©΄ λ¨Όμ € μ •κ·œ ν‘œν˜„μ‹ 검색을 ν™œμ„±ν™”ν•΄μ•Ό ν•©λ‹ˆλ‹€.

검색 μž…λ ₯ μƒμžμ˜ μ™Όμͺ½μ— μžˆλŠ” .* μ•„μ΄μ½˜μ„ ν΄λ¦­ν•˜λ©΄ λ©λ‹ˆλ‹€. 

 

3.2. μ •κ·œ ν‘œν˜„μ‹ μž…λ ₯

이제 검색 창에 μ›ν•˜λŠ” μ •κ·œ ν‘œν˜„μ‹μ„ μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, μ•ŒνŒŒλ²³ μ†Œλ¬Έμžλ‘œ μ‹œμž‘ν•˜κ³  숫자둜 λλ‚˜λŠ” λͺ¨λ“  λ¬Έμžμ—΄μ„ 찾으렀면 ^[a-z].*\d$λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.

μ—¬κΈ°μ„œ ^λŠ” λ¬Έμžμ—΄μ˜ μ‹œμž‘, $λŠ” λ¬Έμžμ—΄μ˜ 끝을 μ˜λ―Έν•˜λ©°,

.은 μž„μ˜μ˜ 문자, *λŠ” μ•žμ„  λ¬Έμžκ°€ 0회 이상 λ°˜λ³΅λ˜λŠ” 것을, [a-z]λŠ” μ•ŒνŒŒλ²³ μ†Œλ¬Έμž, \dλŠ” 숫자λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

 

3.3. 검색 κ²°κ³Ό 확인

μ •κ·œ ν‘œν˜„μ‹μ„ μž…λ ₯ν•˜κ³  Enterλ₯Ό λˆ„λ₯΄λ©΄ 검색 κ²°κ³Όκ°€ ν•˜μ΄λΌμ΄νŠΈλ©λ‹ˆλ‹€. 였λ₯Έμͺ½ μƒλ‹¨μ—λŠ” μΌμΉ˜ν•˜λŠ” 결과의 μˆ˜λ„ ν‘œμ‹œλ©λ‹ˆλ‹€.

 

4. VSCodeμ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” μ •κ·œ ν‘œν˜„μ‹ 예제

λ‹€μŒμ€ VSCodeμ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” λ‹€μ–‘ν•œ μ •κ·œ ν‘œν˜„μ‹ μ˜ˆμ œλ“€μž…λ‹ˆλ‹€.

 

⭐️ λͺ¨λ“  이메일 μ£Όμ†Œ μ°ΎκΈ° 

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

⭐️ λͺ¨λ“  URL μ°ΎκΈ°

http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+

⭐️ λͺ¨λ“  주석 μ°ΎκΈ°

//.*$

⭐️ UUID 포맷의 λ¬Έμžμ—΄ μ°ΎκΈ°

[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}

⭐️ HTML νƒœκ·Έ μ°ΎκΈ°

<([a-z]+) *[^/]*?>

 

μœ„ μ˜ˆμ œλ“€μ„ 톡해 λ³΅μž‘ν•œ λ¬Έμžμ—΄ νŒ¨ν„΄μ„ μ •κ·œ ν‘œν˜„μ‹μœΌλ‘œ μ–΄λ–»κ²Œ ν‘œν˜„ν•  수 μžˆλŠ”μ§€ μ•Œμ•„λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

 

5. κ²°λ‘ 

VSCodeμ—μ„œ μ œκ³΅ν•˜λŠ” μ •κ·œ ν‘œν˜„μ‹ 검색 κΈ°λŠ₯은 맀우 κ°•λ ₯ν•©λ‹ˆλ‹€.

λ³΅μž‘ν•œ μ½”λ“œλ² μ΄μŠ€μ—μ„œ νŠΉμ • νŒ¨ν„΄μ„ μ°Ύμ•„λ‚΄κ±°λ‚˜ λ°”κΎΈλŠ” μž‘μ—…μ„ 효과적으둜 μˆ˜ν–‰ν•  수 있게 ν•΄μ£Όλ©°,

이λ₯Ό 톡해 μ‹œκ°„μ„ μ ˆμ•½ν•˜κ³  μ½”λ“œμ˜ ν’ˆμ§ˆμ„ ν–₯μƒμ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

μ •κ·œ ν‘œν˜„μ‹μ€ μ²˜μŒμ—λŠ” λ³΅μž‘ν•΄ 보일 수 μžˆμ§€λ§Œ, μ—°μŠ΅μ„ 톡해 μ΅μˆ™ν•΄μ§€λ©΄ 맀우 μœ μš©ν•œ 도ꡬ가 될 κ²ƒμž…λ‹ˆλ‹€.

λ‹€μ–‘ν•œ νŒ¨ν„΄μ„ μ‹€ν—˜ν•˜κ³  μ—¬λŸ¬λΆ„μ˜ μ½”λ“œμ— μ μš©ν•΄ λ³΄μ„Έμš”!

 

μ°Έκ³ : VSCode의 μ •κ·œ ν‘œν˜„μ‹ 엔진은 JavaScript의 μ •κ·œ ν‘œν˜„μ‹μ„ 기반으둜 ν•˜λ―€λ‘œ, JS의 문법을 λ”°λ¦…λ‹ˆλ‹€. λ”°λΌμ„œ λ‹€λ₯Έ μ–Έμ–΄μ—μ„œ μ‚¬μš©ν•˜λŠ” μ •κ·œ ν‘œν˜„μ‹κ³Ό μ•½κ°„μ˜ 차이가 μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.