π£ Π Π΅Π³Π΅ΠΊΡ-ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Ρ ΡΠ΅ΡΡΠ°ΠΌΠΈ
Π‘ΠΎΠ±ΡΠ°ΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π°Π±ΠΎΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ.
Π’Ρ β ΡΠΊΡΠΏΠ΅ΡΡ ΠΏΠΎ regex. ΠΡΠΆΠ½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ:
Π¦Π΅Π»Ρ: {ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠΌ} ΠΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠΉΡΠΈ:
- {ok1}
- {ok2}
ΠΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠΉΡΠΈ:
- {bad1}
- {bad2}
ΠΠ²ΠΈΠΆΠΎΠΊ: {JS/Python/PCRE}
ΠΠ°ΠΉ:
- ΠΡΠΎΠ³ΠΎΠ²ΡΠΉ regex.
- ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ°ΡΡΡΠΌ.
- Π’Π°Π±Π»ΠΈΡΡ ΡΠ΅ΡΡΠΎΠ² (input β pass/fail).
- ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΠΏΠΎΠΏΡΠΎΡΠ΅ (Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ).
Π£ΡΠΎΡΠ½ΡΡΡΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ (Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½ΡΡ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ, ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 5).
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ:
- Π£ΠΊΠ°ΠΆΠΈ Π΄ΠΎΠΏΡΡΠ΅Π½ΠΈΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈ edge cases.
- ΠΡΠΈΠ²Π΅Π΄ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ Π²Ρ ΠΎΠ΄/Π²ΡΡ ΠΎΠ΄, Π³Π΄Π΅ ΡΠΌΠ΅ΡΡΠ½ΠΎ.
- ΠΡΠ»ΠΈ Π΅ΡΡΡ ΡΠΈΡΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΎΡΠΌΠ΅ΡΡ ΠΈΡ ΠΈ ΠΌΠ΅ΡΡ.
Π€ΠΎΡΠΌΠ°Ρ ΠΎΡΠ²Π΅ΡΠ°:
- ΠΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΈ Π΄ΠΎΠΏΡΡΠ΅Π½ΠΈΡ.
- Π Π΅ΡΠ΅Π½ΠΈΠ΅/ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
- ΠΡΠΈΠΌΠ΅ΡΡ/ΡΠ΅ΡΡΡ.
- Π ΠΈΡΠΊΠΈ ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ.