λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
JAVASCRIPT

[JAVASCRIPT] μ •κ·œ ν‘œν˜„μ‹

by _토맀토 2022. 8. 17.
728x90

μžλ°”μŠ€ν¬λ¦½νŠΈ : μ •κ·œ ν‘œν˜„μ‹(νŒ¨ν„΄)

μ •κ·œ ν‘œν˜„μ‹μ΄λž€? νŠΉμ •ν•œ κ·œμΉ™μ„ 가진 λ¬Έμžμ—΄μ˜ 집합을 ν‘œν˜„ν•˜λŠ” 데 μ‚¬μš©ν•˜λŠ” ν˜•μ‹ 언어이며 λ¬Έμžμ—΄μ—μ„œ νŠΉμ • 문자 쑰합을 μ°ΎκΈ° μœ„ν•œ νŒ¨ν„΄μž…λ‹ˆλ‹€!
즉 μ‰½κ²Œ λ§ν•΄μ„œ λ¬Έμžμ—΄μ—μ„œ νŠΉμ • 문자λ₯Ό μ°Ύμ•„λ‚΄λŠ” 도ꡬ라고도 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€!


#1. μ •κ·œ ν‘œν˜„μ‹ 객체 μ£Όμš” νŒ¨ν„΄

μ •κ·œ ν‘œν˜„μ‹μ—μ„œ μ‚¬μš©ν•˜λŠ” 기호λ₯Ό 메타(meta) 문자라고 ν•©λ‹ˆλ‹€.

νŒ¨ν„΄ μ„€λͺ…
abc abc λ¬Έμžμ—΄μ„ κ²€μƒ‰ν•©λ‹ˆλ‹€.
/abc/λŠ” 'abc'
[abc] a, b, c 쀑 문자 ν•˜λ‚˜λ₯Ό κ²€μƒ‰ν•©λ‹ˆλ‹€.
/[abc]d/λŠ” 'ad', 'bd', 'cd'
[^abc] a, b, c 쀑 문자 ν•˜λ‚˜λ₯Ό κ²€μƒ‰ν•©λ‹ˆλ‹€.
/[abc]d/λŠ” 'ad', 'bd', 'cd'
[A-Z] μ•ŒνŒŒλ²³ λŒ€λ¬Έμžλ₯Ό κ²€μƒ‰ν•©λ‹ˆλ‹€.
[a-z] μ•ŒνŒŒλ²³ μ†Œλ¬Έμžλ₯Ό κ²€μƒ‰ν•©λ‹ˆλ‹€.
[0-9] 0λΆ€ν„° 9κΉŒμ§€μ˜ 숫자λ₯Ό κ²€μƒ‰ν•©λ‹ˆλ‹€.
. ν•˜λ‚˜μ˜ 문자λ₯Ό κ²€μƒ‰ν•©λ‹ˆλ‹€.
λ§Œμ•½ 'λ§ˆμΉ¨ν‘œ' 문자 κ·ΈλŒ€λ‘œμ˜ 의미λ₯Ό μ‚¬μš©ν•  경우 'β‚©.'으둜 ν‘œν˜„ν•΄μ•Ό ν•©λ‹ˆλ‹€.
\w μ•ŒνŒŒλ²³, 숫자, _λ₯Ό κ²€μƒ‰ν•©λ‹ˆλ‹€.
\W μ•ŒνŒŒλ²³, 숫자, _λ₯Ό μ œμ™Έν•˜κ³  κ²€μƒ‰ν•©λ‹ˆλ‹€.
\d 숫자λ₯Ό κ²€μƒ‰ν•©λ‹ˆλ‹€.
\D 숫자λ₯Ό μ œμ™Έν•˜κ³  κ²€μƒ‰ν•©λ‹ˆλ‹€.
\s ν•˜λ‚˜μ˜ 곡백을 κ²€μƒ‰ν•©λ‹ˆλ‹€.
\S 곡백을 μ œμ™Έν•˜κ³  κ²€μƒ‰ν•©λ‹ˆλ‹€.
^ ν–‰μ˜ 첫 λ¬Έμžκ°€ μΌμΉ˜ν•΄μ•Ό 함을 μ˜λ―Έν•©λ‹ˆλ‹€.
$ ν–‰μ˜ 끝 λ¬Έμžκ°€ μΌμΉ˜ν•΄μ•Ό 함을 μ˜λ―Έν•©λ‹ˆλ‹€.
* * μ•žμ˜ λ¬Έμžκ°€ 0번 이상 λ°˜λ³΅ν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.
/[a*b]/λŠ” 'b', 'ab', 'aab', 'aaab', 'aaa...b'
+ + μ•žμ˜ λ¬Έμžκ°€ 1번 이상 λ°˜λ³΅ν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.
/[a+b]/λŠ” 'ab', 'aab', 'aaab', 'aaa...b'
? ? μ•žμ˜ λ¬Έμžκ°€ 0번 λ˜λŠ” 1을 μ˜λ―Έν•©λ‹ˆλ‹€.
/[a?b]/λŠ” 'b', 'ab'
{} /β‚©d{3}/은 숫자 3개λ₯Ό μ˜λ―Έν•©λ‹ˆλ””.
/β‚©d{3, 5}/은 숫자 3 ~ 5개λ₯Ό μ˜λ―Έν•©λ‹ˆλ””.
/β‚©d{3,}/은 숫자 3개 이상을 μ˜λ―Έν•©λ‹ˆλ””.
a|b a or bλ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
(abc) κ·Έλ£Ήν™”λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

! point ! λ¬Έμžμ—΄μ—μ„œ μΆ”μΆœν•˜κ³  싢은 λ¬Έμžμ™€ 메타 문자λ₯Ό ν•©μΉœ 것이 νŒ¨ν„΄μ΄λΌκ³  λ³Ό 수 있으며 μΆ”μΆœν•˜κ³  싢은 λ¬Έμžμ— 맞게 νŒ¨ν„΄μ„ μ‚¬μš©ν•˜λ©΄ λœλ‹€.

🧐 μ •κ·œ ν‘œν˜„μ‹! μ™œ μ‚¬μš©ν•˜λ‚˜μš”?! 🧐

νš¨μœ¨μ„±μ˜ 증가!
자칫 길어지고 λ³΅μž‘ν•΄μ§ˆ 수 μžˆλŠ” μ½”λ“œλ“€μ„ 짧고 κ°„κ²°ν•˜κ²Œ μž‘μ„±ν•  수 μžˆμ–΄ 효율적으둜 μ²˜λ¦¬ν•  수 있게 되기 λ•Œλ¬Έμž…λ‹ˆλ‹€. μ½”λ”©μ—μ„œλŠ” κΈΈκ³  λ³΅μž‘ν•  수둝 쒋지 μ•Šμ€ μ½”λ“œμ΄κΈ° λ•Œλ¬Έμ— νš¨μœ¨μ„±μ„ μ€‘μš”ν•˜κ²Œ 여겨야 ν•©λ‹ˆλ‹€.
μ˜ˆμ‹œ
1.λ¬Έμžμ—΄μ„ κ²€μ—΄ν•˜κΈ° μœ„ν•œ κ·œμΉ™ μ„€μ •ν•˜κΈ°(μ‚¬μš©μž μž…λ ₯ μœ νš¨μ„± 검증(이메일, μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ, λΉ„λ°€λ²ˆν˜Έ λ“±λ“±)) : 쑰건문으둜 μž‘μ„±ν•  μ‹œ ν•˜λ‚˜ν•˜λ‚˜μ˜ μΌ€μ΄μŠ€λ₯Ό 쑰건으둜 μž‘μ„±ν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— μ½”λ“œκ°€ 맀우 κΈΈκ³  λ³΅μž‘ν•΄μ§„λ‹€.
2.이미지와 같은 νŒŒμΌμ„ λ‹€μš΄ 받을 λ•Œ μ›ν•˜λŠ” ν™•μž₯자만 λ‹€μš΄λ‘œλ“œ λ°›κΈ° λ“±

728x90

λŒ“κΈ€


Lucky Charms Rainbow
js
html
css