/ν¨ν΄/νλκ·Έ
- μ¬λμ(/) "μ¬μ΄"μλ λ§€μΉμν¬ "ν¨ν΄"μ μ¨μ€λ€.
- μ¬λμ(/) "λ€μ"μλ μ΅μ μ μ€μ νλ "νλκ·Έ"λ₯Ό μ¨μ€λ€.(νλκ·Έλ νλλ§ μ°Ύμμ§, λͺ¨λ λ€ μ°Ύμμ§ μ€μ νλ μ΅μ )
ν¨ν΄ μλ―Έ a-zA-z μμ΄μνλ²³(-μΌλ‘ λ²μ μ§μ ) 0-9 μ«μ(-μΌλ‘ λ²μ μ§μ ) γ±-γ κ°-ν£ νκΈλ¬Έμ(-μΌλ‘ λ²μ μ§μ ) . λͺ¨λ λ¬Έμμ΄(μ«μ, νκΈ, μμ΄, νΉμκΈ°νΈ, 곡백 λͺ¨λ! λ¨, μ€λ°κΏX) \d μ«μ \D μ«μκ° μλ κ² \w μμ΄ μνλ²³, μ«μ, μΈλμ€μ½μ΄(_) \W /w κ° μλ κ² \s space 곡백 \S space κ³΅λ°±μ΄ μλ κ² \νΉμκΈ°νΈ νΉμκΈ°νΈ
κΈ°νΈ μλ―Έ | OR [ ] κ΄νΈμμ λ¬Έμλ€ μ€ νλ [^λ¬Έμ] κ΄νΈμμ λ¬Έμλ₯Ό μ μΈν κ² ^λ¬Έμμ΄ νΉμ λ¬Έμμ΄λ‘ μμ(κ΄νΈ μμ μ£Όμ!) λ¬Έμμ΄$ νΉμ λ¬Έμμ΄λ‘ λλ¨ ( ) κ·Έλ£Ή κ²μ λ° λΆλ₯(matchλ©μλμμ κ·Έλ£Ήλ³λ‘ λ¬Άμ΄μ€) (?: ν¨ν΄) κ·Έλ£Ή κ²μ(λΆλ₯X) \b λ¨μ΄μ μ²μ/λ \B λ¨μ΄μ μ²μ/λμ΄ μλ
κΈ°νΈ μλ―Έ ? μ΅λ νλ²(μμ || νκ°) * μκ±°λ μκ±°λ (μμ || μμ): μ¬λ¬κ° ν¬ν¨ + μ΅μ νκ°(νκ° || μ¬λ¬κ°) {n} nκ° {Min,} μ΅μ Minκ° μ΄μ {Min, Max} μ΅μ Minκ° μ΄μ, μ΅λ Maxκ° μ΄ν
νλκ·Έ μλ―Έ g Global: λͺ¨λ λ¬Έμ κ²μ(μ μ°λ©΄ λ§€μΉλλ 첫 λ¬Έμλ§ κ²μ) i Ignore Case: λμλ¬Έμ κ΅¬λΆ μν¨ m Multi line: μ¬λ¬ νμ λ¬Έμμ΄μ λν΄ κ²μ
λ©μλ μλ―Έ ("λ¬Έμμ΄").match(/μ κ·ννμ/νλκ·Έ) "λ¬Έμμ΄"μμ "μ κ·ννμ"μ λ§€μΉλλ νλͺ©λ€μ λ°°μ΄λ‘ λ°ν ("λ¬Έμμ΄").replace(/μ κ·ννμ/, "λ체문μμ΄") "μ κ·ννμ"μ λ§€μΉλλ νλͺ©μ "λ체문μμ΄"λ‘ λ³ν ("λ¬Έμμ΄").split(μ κ·ννμ) "λ¬Έμμ΄"μ "μ κ·ννμ"μ λ§€μΉλλ νλͺ©μΌλ‘ μͺΌκ°μ΄ λ°°μ΄λ‘ λ°ν (μ κ·ννμ).test("λ¬Έμμ΄") "λ¬Έμμ΄"μ΄ "μ κ·ννμ"κ³Ό λ§€μΉλλ©΄ true, μλλ©΄ falseλ°ν (μ κ·ννμ).exec("λ¬Έμμ΄") matchλ©μλμ μ μ¬(λ¨, 무쑰건 첫λ²μ§Έ λ§€μΉ κ²°κ³Όλ§ λ°ν)
const text = `λλ무 λΉ¨λ ꡬμ
λ¬Έμ : http://dogumaster.com http://google.com 010-1111-2222 02-333-7777 curryyou@aaa.com`;
text.match(/https?:\/\/[\w\-\.]+/g);
// ["http://dogumaster.com", "http://google.com"]
/https?:\/\/[\w-.]+/g
1) http: httpλ‘ μμ
2) s?: λ€μμ sλ μκ±°λ μμ
3) ":": λ€μμ :κ° μ¨λ€
4) \/\/: λ€μμ νΉμκΈ°ν //κ° μ€κ³
5) [\w\-\.]+: \w(μλ¬Έμ, μΈλμ€μ½μ΄), νμ΄ν, μ© μΌλ‘ μ΄λ£¨μ΄μ§ λ¬Έμμ΄μ΄ νκ° μ΄μ(+) μλ€
6) g: λ§€μΉλλκ±Έ λͺ¨λ λ€ μ°Ύλλ€
const text = `λλ무 λΉ¨λ ꡬμ
λ¬Έμ : http://dogumaster.com http://google.com 010-1111-2222 02-333-7777 curryyou@aaa.com`;
text.match(/\d{2,3}-\d{3,4}-\d{4}/g);
// [ '010-1111-2222', '02-333-7777' ]
/\d{2,3}-\d{3,4}-\d{4}/g
1) \d{2,3} : μ«μ 2~3κ°λ‘ μμ
2) -: λ€μμ νμ΄ν(-)μ΄ μ€κ³
3) \d{3, 4}: λ€μμ μ«μκ° 3~4κ° μ€κ³
4) \/\/: λ€μμ νΉμκΈ°νΈ //κ° μ€κ³
5) \d{4} :λ€μμ μ«μκ° 4κ° μ¨λ€
6) g: λ§€μΉλλκ±Έ λͺ¨λ λ€ μ°Ύλλ€
const text = `λλ무 λΉ¨λ ꡬμ
λ¬Έμ : http://dogumaster.com http://google.com 010-1111-2222 02-333-7777 curryyou@aaa.com`;
text.match(/[\w\-\.]+\@[\w\-\.]+/g); // [ 'curryyou@aaa.com' ]
/[\w-.]+\@[\w-.]+/g
1) [\w\-\.]+: \w(μλ¬Έμ, μΈλμ€μ½μ΄), νμ΄ν, μ© μΌλ‘ μ΄λ£¨μ΄μ§ λ¬Έμμ΄μ΄ νκ° μ΄μ(+) μλ€
2) \@: λ€μμ νΉμλ¬Έμ @κ° μ¨λ€
const text = `λλ무 λΉ¨λ ꡬμ
λ¬Έμ : http://dogumaster.com http://google.com 010-1111-2222 02-333-7777 curryyou@aaa.com`;
text.match(/[\[\]\{\}\/\(\)\.\?\<\>!@#$%^&*]/g); // ['/', '/', '.', '/', '/', '.', '@', '.']
/[[]{}\/().\?\<>!@#$%^&*]/g
const text = `λλ무 λΉ¨λ ꡬμ
λ¬Έμ : http://dogumaster.com http://google.com 010-1111-2222 02-333-7777 curryyou@aaa.com`;
text.match(/[^a-zA-Z0-9κ°-ν£γ±-γ
]/g); // [' ', ' ', ' ', ' ', ':', ' ', ':', '/', '/', '.', ' ', ':', '/', '/', '.', ' ', '-', '-', ' ', '-', '-', ' ', '@', '.']
/[^a-zA-Z0-9κ°-ν£γ±-γ ]/g
μ°Έκ³ : https://curryyou.tistory.com/234