- λ¬Έμμ΄μ ν¨ν΄μ νννκΈ° μν λꡬ
- μ κ· ννμμ μ¬μ©νλ©΄ λ¬Έμμ΄ μμμ νΉμ ν¨ν΄μ κ°μ§λ λ¬Έμμ΄μ κ²μ/μΆμΆ/μΉννλ μ²λ¦¬λ₯Ό μ§μ μμ±νμ§ μκ³ κ΅¬ν κ°λ₯
- Perlμ μ κ·ννμμ λ°μλ€μΈ κ²(Perl5)
- ES3λΆν° νμ€
var reg = new RegExp("abc");
var reg = /abc/; // μ κ· ννμ 리ν°λ΄- ν¨ν΄ μμ±
- μΌλ°λ¬Έμ : μ«μ(0~9), μνλ²³(λ,μλ¬Έμ)
- νΉμλ¬Έμ : +, . λ±
- μ κ· ννμμμ μ¬μ©νλ νΉμλ¬Έμ = λ©νλ¬Έμ(meta character)
- λ¬Έμλ‘μ μ¬μ© μ λ©ν λ¬Έμ μμ \ λ¬Έμλ₯Ό λΆμ¬μΌν¨
- μΌμΉ(match) : μ΄λ€ λ¬Έμμ΄μ΄ μ κ· ννμμ΄ νννλ λ¬Έμμ΄μ ν¨ν΄μ κ°μ§κ³ μμ λ κ·Έ λ¬Έμμ΄μ κ°λ¦¬μΌ μ κ· ννμκ³Ό μΌμΉνλ€κ³ νλ€
- λ¬Έμμ΄μ΄ μ κ· ννμκ³Ό μΌμΉνλμ§ νμΈνλ μμ μ ν¨ν΄ λ§€μΉμ΄λΌ ν¨
-
RegExp.prototype - test, exec
- test : μ κ· ννμμ λ¬Έμμ΄μ΄ μΌμΉνλμ§ λ»νλ λ Όλ¦¬κ° λ°ν
var reg = /cat/; console.log(reg.test("cats and dogs")); // true console.log(reg.test("Cat")); // false // Catκ° λλ¬Έμμ΄κΈ° λλ¬Έμ λΆμΌμΉ
- exec : μ κ· ννμκ³Ό μΌμΉνλ λ¬Έμμ΄μ κ²μνμ¬ μΌμΉν λ¬Έμμ΄μ λ°°μ΄λ‘ λ°ν
- λ°νλ λ°°μ΄μλ indexμ input νλ‘νΌν°κ° μμ
- index νλ‘νΌν°μλ κ°μ₯ μ²μ μΌμΉν μμΉκ° λ€μ΄κ°κ³ input νλ‘νΌν°μλ μΌμΉν λ¬Έμμ΄μ΄ λ€μ΄κ°
var reg = /Script/; var result = reg.exec("JavaScript"); console.log(result[0]); // Script console.log(result.index); // 4 console.log(result.input); // JavaScript
-
String.prototype - match, replace, search, split
- μ κ· ννμμ ν΅μ¬μ λ©ν λ¬Έμλ₯Ό μ¬μ©ν λ¬Έμμ΄ ν¨ν΄μ νν
-
μΌλ° λ¬Έμ = 리ν°λ΄ λ¬Έμ
-
μ κ·ννμ 리ν°λ΄ λ¬Έμ 리ν°λ΄λ¬Έμ|μ€λͺ ---|--- μ λμ½λλ¬Έμ|λ¬Έμ κ·Έ μ체λ₯Ό λ»ν¨(λ¨, ^, $, , ., *, +, ?, (, ), [, ], {, }, |λ μ μΈ) \0|NULLλ¬Έμ(\u0000) \n|κ°ν λ¬Έμ(\u000A) \t|ν λ¬Έμ(\u0009) \v|μμ§ ν λ¬Έμ(\u000B) \f|λ€μ νμ΄μ§ λ¬Έμ)(FF=\u000C) \r|μΊλ¦¬μ§ λ¦¬ν΄ λ¬Έμ(CR=u000D) \xhh|16μ§μ hhλ‘ μ§μ λ ASCII λ¬Έμ \uhhh|16μ§μ hhhhλ‘ μ§μ λ μ λμ½λ λ¬Έμ \cX|μ μ΄ λ¬Έμ
-
^ $ \ . * + ? ( ) [ ] { } | -
μ΄ λ©ν λ¬Έμλ₯Ό λ¬Έμλ‘ ννν λλ λ©ν λ¬Έμ μμ \λ₯Ό λΆμ¬ μ΄μ€μΌμ΄ν
-
μ΄ μΈμ μλ°μ€ν¬λ¦½νΈ μ κ· ννμ ν¨ν΄μμ μ΄μ€μΌμ΄νκ° νμν λ¬Έμλ /
-
λ¬Έμ ν΄λμ€ : [...]
- λ¬Έμ ν΄λμ€λ νΉμ λ¬Έμ μ§ν© μμ λͺ¨λ λ¨μΌ λ¬Έμμ μΌμΉ
- λ¬Έμ μ§ν©μ μμκ° λλ λ¬Έμ 리ν°λ΄μ λμ΄νμ¬ λκ΄νΈλ‘ λ¬Άμ΄μ μ μ
- λκ΄νΈ μμμ νμ΄ν(-)μ μ¬μ©νλ©΄ λ¬Έμμ λ²μ μ§μ κ°λ₯
[a-z] // μ 체 μλ¬Έμ μ€ λ¬Έμ ν κ° [abcx-z] // [a] [b] [c] [x] [y] [z] μ€ λ¬Έμ ν κ° [a-zA-Z0-9] // λͺ¨λ μνλ²³κ³Ό μ«μ μ€ λ¬Έμ ν κ°
- λ²μλ μ λμ½λ λ²νΈ μμμ λ°λΌ κ²°μ
[\u3131-\u314E] // νκΈ μμ ν κ° [\u314F-\u3163] // νκΈ λͺ¨μ ν κ° [\uAC00-\uD7A3] // νκΈ μκ³ ν κ° [\uF900-\uFAFF] // CJK νΈν νμ ν κ°
-
λΆμ λ¬Έμ ν΄λμ€ : [^...]
- λΆμ λ¬Έμ ν΄λμ€λ λκ΄νΈ μμ λ€μ΄ μμ§ μμ λ¨μΌ λ¬Έμμ μΌμΉ
- [^...]μ [...]μ μ¬μ§ν©μ λ¬Έμ ν κ°μ μΌμΉ