πŸ˜† Regular expression

2019. 05. 11

Seungwoo Hong

@sat10am

πŸ±β€πŸ’» Regular expression

λ¬Έμžμ—΄μ—μ„œ νŠΉμ • 쑰합을 μΆ”μΆœ 및 λŒ€μ‘ ν•˜κΈ° μœ„ν•œ 도ꡬ

πŸ™Œ Generation

πŸ™Œ Generation

μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ μ •κ·œν‘œν˜„μ‹μ„ λ§Œλ“œλŠ” 방법은 두 κ°€μ§€κ°€ μžˆμŠ΅λ‹ˆλ‹€.

1. μ •κ·œμ‹ λ¦¬ν„°λŸ΄

2. RegExp 객체

πŸ™Œ Generation

πŸ™Œ Pattern

πŸ™Œ Pattern

λ‹¨μˆœ νŒ¨ν„΄ μ‚¬μš©ν•˜κΈ°

πŸ™Œ Pattern

λ‹¨μˆœ νŒ¨ν„΄ μ‚¬μš©ν•˜κΈ°

μ •κ·œν‘œν˜„μ‹μ€ 기본적으둜 λŒ€μ†Œλ¬Έμžλ₯Ό κ΅¬λΆ„ν•©λ‹ˆλ‹€.

πŸ™Œ Pattern

특수문자λ₯Ό μ΄μš©ν•œ νŒ¨ν„΄

πŸ™Œ Pattern - Anchor and escape

πŸ™Œ Pattern - Anchor and escape

^  은 μ‹œμž‘, $ λŠ” 끝을 μ˜λ―Έν•©λ‹ˆλ‹€.

πŸ™Œ Pattern - Anchor and escape

$, ^ λ₯Ό ν…μŠ€νŠΈλ‘œ μ²˜λ¦¬ν•˜κ³  ν•˜λ €λ©΄..?

Text

\λ₯Ό μ΄μš©ν•˜λ©΄ λ©λ‹ˆλ‹€

πŸ™Œ Pattern - any

πŸ™Œ Pattern - any

.은 λͺ¨λ“  λ¬Έμžμ— λŒ€μ‘λ©λ‹ˆλ‹€.

즉 곡백, νŠΉμˆ˜λ¬Έμžλ“± λͺ¨λ“  λ¬Έμžμ— λŒ€μ‘λ©λ‹ˆλ‹€.

πŸ™Œ Pattern - character list and range

πŸ™Œ Pattern - character list

[ ] λŠ” 후보ꡰ 문자λ₯Ό λ§Œλ“€μ–΄ 쀄 수 있고 후보ꡰ 쀑 λŒ€μ‘ λ˜λŠ” 문자 ν•˜λ‚˜μ— λ§€μΉ˜λ©λ‹ˆλ‹€.

πŸ™Œ Pattern - character list

[ ] μ•ˆμ—μ„œμ˜ ^λŠ” μ‹œμž‘μ˜ μ˜λ―Έκ°€ μ•„λ‹Œ Not의 의미λ₯Ό κ°€μ§‘λ‹ˆλ‹€.

πŸ™Œ Pattern - range

- λŠ” [ ] μ•ˆμ—μ„œ 문자의 λ²”μœ„λ₯Ό μ§€μ •ν•  수 있게 ν•΄μ€λ‹ˆλ‹€.

Β 

πŸ™Œ Pattern - sub pattern

πŸ™Œ Pattern - sub pattern

|λ₯Ό μ΄μš©ν•˜λ©΄ νŒ¨ν„΄ μ•ˆμ— νŒ¨ν„΄μ„ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ™Œ Pattern - quantifiers

πŸ™Œ Pattern - quantifiers

1. * λŠ” 0개, 1개, μ—¬λŸ¬ κ°œμ— λŒ€μ‘ν•©λ‹ˆλ‹€.

2. + λŠ” 1개, μ—¬λŸ¬ κ°œμ— λŒ€μ‘ν•©λ‹ˆλ‹€.

3. ? λŠ” 0개 λ˜λŠ” 1κ°œμ— λŒ€μ‘ν•©λ‹ˆλ‹€.

πŸ™Œ Pattern - quantifiers

πŸ™Œ Pattern - quantifiers

{ } 갯수λ₯Ό μ’€ 더 μ„¬μ„Ένžˆ μ§€μ • ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ™Œ Pattern - character class

πŸ™Œ Pattern - character class

\wλŠ” [a-zA-Z0-9_]와 동일 ν•©λ‹ˆλ‹€.

πŸ™Œ Pattern - character class

\WλŠ” \w의 λ°˜λŒ€μž…λ‹ˆλ‹€.

πŸ™Œ Pattern - character class

\dλŠ” 숫자λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. 즉 [0-9]와 λ™μΌν•©λ‹ˆλ‹€.

πŸ™Œ Pattern - character class

\D은 \d의 λ°˜λŒ€μž…λ‹ˆλ‹€.

πŸ™Œ Pattern - character class

\sλŠ” 곡백문자λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

πŸ™Œ Pattern - character class

\SλŠ” \s의 λ°˜λŒ€μž…λ‹ˆλ‹€.

πŸ™Œ Pattern - character class

\bλŠ” λ‹¨μ–΄μ˜ 경계λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

πŸ™Œ Pattern - character class

\BλŠ” \b의 λ°˜λŒ€μž…λ‹ˆλ‹€.

πŸ™Œ Pattern - capture

πŸ™Œ flag

πŸ™Œ flag

Made with Slides.com