-
000. μλ°μ€ν¬λ¦½νΈμμ μ κ·ννμ νμ© λ° νκΈ, μ λμ½λ μΌμΉ !π§ codingtest/μ κ·ννμ(regexp) 2022. 9. 8. 08:44728x90
π κΈ°λ³Έ μ κ·ννμ λ¬Έλ²μ΄ μ¬λ¬κ΅¬νμμ λλΆλΆ λμΌνλ€κ³ ν΄λ μ κ·ννμμ μ¬μ©νλ λ°©μμ λ€λ¦ μ κ·ννμμ μ§μνλ μΈμ΄μ μ ν리μΌμ΄μ μλ μμ λ§μ νΈμΆλ°©λ²μ΄ μκ³ , μ¬μν μ°¨μ΄μ μ΄ μ‘΄μ¬νλ€.
μλ°μ€ν¬λ¦½νΈ
π μλ°μ€ν¬λ¦½νΈμμλ Stringκ³Ό RegEx κ°μ²΄λ₯Ό λ€μ λ©μλλ‘ μ²λ¦¬νμ¬ μ κ·ννμμ ꡬν
* RegEx κ°μ²΄μ exec λ©μλ - μΌμΉνλ λΆλΆμ μ°Ύλλ€. * String κ°μ²΄μ match λ©μλ - λ¬Έμμ΄μ μ°Ύλλ€. * String κ°μ²΄μ replace μμλ - μΉν λͺ λ Ήμ μννλ€. * String κ°μ²΄μ search λ©μλ - λ¬Έμμ΄μμ μΌμΉνλ λΆλΆμ΄ μλμ§ κ²μ¬νλ€. * String κ°μ²΄μ split λ©μλ - λ¬Έμμ΄ νλλ₯Ό μ¬λ¬ κ°λ‘ λλλ€. * RegEx κ°μ²΄μ test λ©μλ - μ£Όμ΄μ§ λ¬Έμμ΄μ΄ μΌμΉνλμ§ κ²μ¬νλ€.
βοΈ λ€μκ³Ό κ°μ μ£Όμ μ¬νμ΄ μλ€.
- μλ°μ€ν¬λ¦½νΈλ νλκ·Έ(fleg)λ₯Ό μ¬μ©ν΄ μ μ λμλ¬Έμλ₯Ό ꡬλ³ν΄ κ²μνλ€.(gλ‘ μ μμ μ€μ , iλ λμλ¬Έμλ₯Ό ꡬλ³νμ§ μκ³ μΌμΉμν΄ -> λκ°λ₯Ό ν©μ³μ giλ‘ νμν¨)
- λ€μκ³Ό κ°μ λ³κ²½μκ° μΆκ°λ¨
λ³κ²½μ/μ§μμ μ€λͺ m λ€μ€ν λ¬Έμμ΄μ μ§μνλ€. s λ¨μΌν λ¬Έμμ΄μ μ§μνλ€. x μ κ·ννμ λ΄ ν¬ν¨λ 곡백μ 무μνλ€. - μμ°Έμ‘°λ₯Ό μ¬μ©μ
- $'λ μΌμΉνλ λ¬Έμμ΄ μμ μλ λ¬Έμμ΄μ λͺ¨λ λ°ννλ€.
- $`λ μΌμΉνλ λ¬Έμμ΄ λ€μ μ€λ λ¬Έμμ΄μ λͺ¨λ λ°ννλ€.
- $+λ λ§μ§λ§ νμ ννμκ³Ό μΌμΉν λ΄μ©μ λ°ννλ€.
- $&λ μΌμΉν λ¬Έμμ΄μ λͺ¨λ λ°ννλ€.
- μλ°μ€ν¬λ¦½νΈμλ RegExpλΌλ μ μκ°μ²΄κ° μμ΄, μ κ· ννμμ μ€νν λ€μμ κ΄λ ¨λ μ 보λ₯Ό μ»μ΄μ¬ μ μλ€.
- ν¬μ§μ€(POSIX) λ¬Έμ ν΄λμ€λ μ§μνμ§ μλλ€.
- \A μ \Z λ μ§μνμ§ μλλ€.
μ κ·ννμκ³Ό νκΈ κ·Έλ¦¬κ³ μ λμ½λ
νκΈ μΌμΉμν€κΈ°
μ§κΈκΉμ§λ μμ μ ννμμ΄ λͺ¨λ μμ΄λ‘λ§ λμ΄μμλ€. κ·Έλ λ€λ©΄, μ κ·ννμμμ νκΈμ μ¬μ©νλ €λ©΄ μ΄λ»κ² ν΄μΌν κΉ ?
μ§κ³ λμ΄κ°μΌν λΆλΆ
π νκΈμ
\w
μ μΌμΉνμ§ μλλ€.(\w : [A-Za-z0-9]
)μμ λΉκ΅
- μμ κ΅μ΄:μ μμ΄:μ μν:μ λ―Έμ :μ 체μ‘:λ―Έ
μ κ·μ (?<=[^κ°-ν])(μ|μ°|λ―Έ|μ|κ°)(?=[^κ°-ν])
κ²°κ³Ό κ΅μ΄:μ μμ΄:μ μν:μ λ―Έμ :μ 체μ‘:λ―Έ π
[^κ°-ν]
ν¨ν΄μ μ΄ν΄λ³΄λ©΄κ°
λ νκΈ λ¬Έμ μ§ν©μμ κ°μ₯ 첫λ²μ§Έ λ¬Έμμ΄κ³ ,ν£
μ κ°μ₯ λ§μ§λ§ λ¬Έμμ΄λ€.([A-Z]
ν¨ν΄κ³Ό λ§μ°¬κ°μ§λ‘κ°
λΆν°ν£
λ¬Έμ μ¬μ΄μ μλ λͺ¨λ λ¬Έμλ₯Ό λνλ. μ¦, λͺ¨λ νκΈλ¬Έμμ μΌμΉ)
π κ·Έλ¬λ―λ‘[^κ°-ν]
ν¨ν΄μ νκΈμ΄ μλ λ¬Έμμ λͺ¨λ μΌμΉν¨μ λμ½λ μΌμΉμν€κΈ°
- μ λμ½λμλ νκΈλΏλ§ μλ λ€μν μΈμ΄μ κΈ°νΈκ° ν¬ν¨λμ΄ μμ
π μ κ· ννμμΌλ‘ μΌμΉμν€κΈ° μν΄μ μ λμ½λ λ²νΈ(Unicode code point)λ₯Ό μ¬μ©νλ λ°©λ²μ μμ보μ !
- μ λμ½λλ λ¬Έμλ§λ€ μμλλ‘ λ²νΈλ₯Ό ν λΉνλ€. μ΄ λ²νΈ(code point)λ₯Ό μ§μ μ¬μ©ν΄ μ λμ½λ λ¬Έμμ μΌμΉμν¬μ μλ€.
μμ λΉκ΅
- μμ Copyright © 2022 μΈμ¬μ΄νΈ
μ κ·μ \u00a9
κ²°κ³Ό Copyright © 2022 μΈμ¬μ΄νΈ π λ¬Έμμ ν λΉλ λ²νΈ 00a9λ₯Ό ν΅ν΄ © λ¬Έμμ μΌμΉνλ€.
βοΈ νμ΄μ¬μμλ ν΄λΉ μ κ· νν λ¬Έμμ΄ μμ\u00a9
μ κ°μ΄ uλ₯Ό λΆμ¬ μ λμ½λμμ λνλ΄μΌνλ€π μμ μ κ°μ νμμ μ λμ½λ λ²νΈ(Unicode code point)λ₯Ό ν΅ν μ κ·ννμ μΌμΉλ μλ°, μλ°μ€ν¬λ¦½νΈ, λ·λ·, νμ΄μ¬λ§μμ μ§μ.
'π§ codingtest > μ κ·ννμ(regexp)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
10. 쑰건 λ¬κΈ° (0) 2022.09.06 09. μ λ°©νμκ³Ό νλ°©νμ (0) 2022.09.06 08. μμ°Έμ‘° μ¬μ©νκΈ° (0) 2022.09.03 07. νμ ννμ μ¬μ©νκΈ° (0) 2022.09.03 06. μμΉ μ°ΎκΈ° (0) 2022.09.03