π μ κ·ννμ
- μ κ· ννμμ΄λ?
νΉμ ν¨ν΄μ λ¬Έμμ΄μ μ°Ύμμ£Όλ ννλ°©μ!
λ΄κ° μ°Ύκ³ μ νλ ν¨ν΄μ 맀μΉλλ λ¬Έμμ΄μ μ°Ύμμ€λ€
μ κ· ννμκ³Ό 맀μλλ₯Ό μ μ ν μ΄μ©ν΄ λ¬Έμμ΄μ μνλ νμμΌλ‘ μ‘°μνλ κ²μ΄ κ°λ₯νλ€
- μμ
"2021-12-13"
μ΄λΌλ λ¬Έμμ΄μ "4κ°μ μ«μ, - ,2κ°μ μ«μ, - ,2κ°μ μ«μ"λ‘ κ΅¬μ±λμ΄ μμ.
λ§μ½ μμ κ°μ λ μ§ νμλ§ μ°Ύμλ΄κ³ μΆλ€λ©΄? μ κ· ννμμ μ΄μ©νλ©΄ λ¨
μ΄κ±Έ μ κ· ννμμΌλ‘ νλ©΄ /\d{4}-\d{2}-\d{2}/ λΌκ³ ν¨
β‘ \d λΌκ³ νλ건 μ«μμμ μλ―Ένκ³ , {} μμλ κ·Έ μ«μμ κ°―μκ° λ€μ΄κ°
μκ±Έ μ΄μ©νλ©΄
const context = /\d{4}-\d{2}-\d{2}/;
context.test('010-0000-0000') // false
context.test('2022-01-01') // true
μ΄λ° μμΌλ‘ ! μ΄μ©μ΄ κ°λ₯νλ€.
π‘ μ κ·ννμ μ¬μ©λ°©λ²
1. νμ
/ν¨ν΄/νλκ·Έ
- μ¬λμ(/) μ¬μ΄μλ 맀μΉμν¬ "ν¨ν΄"μ μ¨μ€λ€.
- μ¬λμ(/) λ€μμλ μ΅μ
μ μ€μ νλ "νλκ·Έ"λ₯Ό μ¨μ€λ€.
(νλκ·Έλ ν΄λΉνλ μ²μ νλλ§ μ°Ύμμ§, μΉ λ€ μ°Ύμμ§ λ±μ μ€μ νλ μ΅μ
μ΄λΌκ³ 보면 λ¨)
2. ν¨ν΄ μ 리
1οΈβ£ λ§€μΉ ν¨ν΄
: λ¬Έμ,μ«μ,κΈ°νΈλ±
λ§€μΉ ν¨ν΄ | λ» | μμ |
a-zA-Z | μμ΄ μνλ²³ (-μΌλ‘ λ²μ μ§μ ) | |
γ±-γ κ°-ν£ | νκΈ λ¬Έμ (-μΌλ‘ λ²μ μ§μ ) | |
0-9 | μ«μ (-μΌλ‘ λ²μ μ§μ ) | |
. | λͺ¨λ λ¬Έμ (μ«μ,νκΈ,μμ΄,νΉμκΈ°νΈ,곡백 λͺ¨λ λ¨, μ€λ°κΏx) |
|
\d | μ«μ | |
\D | μ«μκ° μλκ±° | |
\w | μμ΄ μνλ²³, μ«μ,μΈλλ°(_) | |
\W | λ¨μ΄ λ¬Έμκ° μλ λ¬Έμ. | [^A-Za-z0-9_] μ λμΌ. μλ₯Ό λ€μ΄, /\W/ λλ /[^A-Za-z0-9_]/ λ "50%."μ '%' λ κ°μ μλ―Έ. |
\s | μ€νμ΄μ€ (곡백) | |
\S | μ€νμ΄μ€(곡백)κ° μλ κ² | |
| | OR |
2οΈβ£ κ²μ ν¨ν΄
: and, or, StartWith λ±λ± λ€μνκ² μ‘°ν© κ°λ₯
κ²μν¨ν΄ | λ» | μμ |
[λ¬Έμ] | λ¬Έμμ
(Character set)μ΄λΌκ³ ν¨. κ΄νΈμμ λͺ¨λ λ¬Έμ κ°λ¦¬ν΄ |
ν¨ν΄ [a-d] λ ν¨ν΄ [abcd] μ λκ°μ΄ λμ "brisket"μ 'b' μ μΌμΉ. "city"μ 'c' μ μΌμΉ. ν¨ν΄ /[a-z.]+/ μ /[\w.]+/ λ "test.i.ng" μ 체 λ¬Έμμ΄μ΄ μΌμΉ. |
[^λ¬Έμ] | κ΄νΈμμ λ¬Έμ μ μΈν λλ¨Έμ§ | [^abc] = [^a-c] κ°μ μλ―Έ. "brisket"μ 'r', "chop."μ 'h' μ λμλ¨ |
^λ¬Έμμ΄ | νΉμ λ¬Έμμ΄λ‘ μμ(κ΄νΈ μμ μ£Όμ!) | |
λ¬Έμμ΄$ | νΉμ λ¬Έμμ΄λ‘ λλ¨ | |
( ) | κ·Έλ£Ή κ²μ λ° λΆλ₯(matchλ©μλμμ κ·Έλ£Ήλ³λ‘ λ¬Άμ΄μ€) | |
(?: ν¨ν΄) | κ·Έλ£Ή κ²μ(λΆλ₯X) | |
\b | λ¨μ΄μ μ²μ/λ | |
\B | λ¨μ΄μ μ²μ/λμ΄ μλ | |
3οΈβ£ κ°―μ(μλ) ν¨ν΄
: νΉμ ν¨ν΄μ΄ λͺλ² λ°λ³΅λλμ§λ νν°λ§ κ°λ₯
κΈ°νΈ | λ» | μμ |
? | μ΅λ νκ° (μκ±°λ νκ°) | {0,1} κ³Ό κ°μ μλ―Έ |
* | μκ±°λ μμ | |
+ | μ΅μ νκ° (νκ°κ±°λ κ·Έ μ΄μ) | |
{n} | nκ° | |
{n,} | μ΅μ nκ° μ΄μ | |
{n,m} | μ΅μ nκ° μ΄μ, μ΅λ mκ° μ΄ν |
4οΈβ£ νλκ·Έ
: λμμ μ¬λ¬κ° μ¬μ©λ κ°λ₯ (gi , gm λ±)
νλκ·Έ | λ» | μμ |
g | λͺ¨λ λ¬Έμ κ²μ (μ μμ¨μ£Όλ©΄ 맀μΉλλ 첫문μλ§ κ²μν¨) |
|
i | λμλ¬Έμ κ΅¬λΆ μν¨ | |
m | μ¬λ¬ νμ λ¬Έμμ΄μ λν΄ κ²μ |
5οΈβ£ μ κ·ννμ μ£Όμ 맀μλ
: μ΄ λ§€μλλ€μ μ΄μ©ν΄μ 맀μΉλλ λ¬Έμμ΄μ μΆμΆνκ±°λ λ³νν΄μ
μνλλλ‘ λ¬Έμμ΄ μ‘°μμ΄ κ°λ₯
맀μλ | λ» | μμ |
("λ¬Έμμ΄").match(/μ κ·μ/νλκ·Έ) | 맀μΉλλ νλͺ©μ λ°°μ΄λ‘ λ°ν | |
("λ¬Έμμ΄").replace(/μ κ·μ/,"λ체문μμ΄") | 맀μΉλλ νλͺ©μ "λ체 λ¬Έμμ΄"λ‘ λ³ν | |
("λ¬Έμμ΄").split(μ κ·μ) | 맀μΉλλ νλͺ©μΌλ‘ μͺΌκ°μ λ°°μ΄λ‘ λ°ν | |
(μ κ·μ).test("λ¬Έμμ΄") | "λ¬Έμμ΄"μ΄ "μ κ·ννμ"κ³Ό 맀μΉλλ©΄ true, μλλ©΄ falseλ°ν |
|
(μ κ·μ).exec("λ¬Έμμ΄") | 맀μΉλλ νλͺ©μ "무쑰건 첫λ²μ§Έ κ²°κ³Όλ§" λ°ν |
μ°Έκ³ :
https://curryyou.tistory.com/234