ΠΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠΈΡΠΊ ΠΎΠ±ΡΠ°Π·ΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π³ΠΈΡΡΡ ΠΏΡΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠΌ, Π΅ΡΠ»ΠΈ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ /i (ignore case). ΠΠ»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π±ΡΠΊΠ² Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΡΠ°Π³ΠΌΠ° use locale. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
use locale; 'Π ΡΡΡΠΎΠΊΠ΅ ΠΎΠ±ΡΠ°Π·Π΅Ρ Π΅ΡΡΡ' =~ /ΠΠ±ΡΠ°Π·Π΅Ρ/; # ΠΎΠ±ΡΠ°Π·Π΅Ρ ΠΠ Π½Π°ΠΉΠ΄Π΅Π½! 'Π ΡΡΡΠΎΠΊΠ΅ ΠΎΠ±ΡΠ°Π·Π΅Ρ Π΅ΡΡΡ' =~ /ΠΠ±ΡΠ°Π·Π΅Ρ/i; # ΠΎΠ±ΡΠ°Π·Π΅Ρ Π½Π°ΠΉΠ΄Π΅Π½
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠ»ΠΎΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
$text = 'Π§Π΅ΡΠ½ΡΠΉ ΠΊΠΎΡ Π² ΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°ΡΠ΅'; # ΠΈΡΠ΅ΠΌ Π² ΡΡΠΎΠΌ ΡΠ΅ΠΊΡΡΠ΅ $found = $text =~ /ΠΊΠΎΡ/; # Π² $found Π±ΡΠ΄Π΅Ρ '1' print 'ΠΠΎΡΠΊΠΈ Π½Π΅Ρ!' unless $text =~ /ΠΊΠΎΡΠΊΠ°/; # Π²Π΅ΡΠ½Π΅Ρ ''
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ ΡΡΡΠΎΠΊΠ΅ (!~), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ½Π²Π΅ΡΡΠΈΡΡΠ΅Ρ (ΠΌΠ΅Π½ΡΠ΅Ρ Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ) ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ:
print 'ΠΠΎΡΠΊΠΈ Π½Π΅Ρ!' if $text !~ /ΠΊΠΎΡΠΊΠ°/;# Π²Π΅ΡΠ½Π΅Ρ '1'
ΠΡΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ ΡΡΡΠΎΠΊΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΎΠ±ΡΠ°Π·Π΅Ρ ΠΎΡΡΡΠΊΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ $_. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π΅ΡΡ ΠΎΠ±ΡΠ°Π·Π΅Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΡΠ°ΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
$_ = 'Π‘ΡΠ°ΡΡΡΠ΅ - ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΡΠ΅Π±Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ.'; # ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠΎΠΈΡΠΊΠ° $pattern = 'Π‘ΡΠ°ΡΡΡΠ΅'; # ΠΎΠ±ΡΠ°Π·Π΅Ρ Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ print "$pattern Π½Π°ΠΉΠ΄Π΅Π½ΠΎ!" if /$pattern/;
Π ΡΠΎΡΡΠ°Π²Π΅ ΠΎΠ±ΡΠ°Π·ΡΠ° ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π½ΠΎ ΠΈ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ Π½Π°ΠΌ ΠΈΠ· Π»Π΅ΠΊΡΠΈΠΈ 2, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
print 'Π ΡΡΡΠΎΠΊΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π° ΡΠ°Π±ΡΠ»ΡΡΠΈΡ' if $string =~ m{\t};
ΠΠ»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΎΠ±ΡΠ°Π·ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΡΡΡΠΎΠΊΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ±ΡΠ°Π·Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Ρ Ρ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ 'ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ':
$text = 'Π£ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΠ² Π·Π΅Π»Π΅Π½ΡΠ΅ Π³Π»Π°Π·Π°?'; # ΠΈΡΠ΅ΠΌ Π·Π΄Π΅ΡΡ $any = $text =~ /ΠΊΠΎΡ/; # ΠΎΠ±ΡΠ°Π·Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π» Ρ 'ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ'
Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ 'ΠΊΠΎΡ', ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΎΠΈΡ ΠΏΡΠΎΠ±Π΅Π», Π½ΡΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π·Π΅Ρ Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ:
$cat = $text =~ / ΠΊΠΎΡ/; # ΠΎΠ±ΡΠ°Π·Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Ρ Ρ ' ΠΊΠΎΡ'
Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π·ΡΠ°: Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠΌΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π±ΡΠΊΠ²Π° m// (ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ: ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ m//.) Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»Π΅ΠΉ ΠΌΠΎΠ³ΡΡ Π²ΡΡΡΡΠΏΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠ°ΡΠ½ΡΠ΅ Π½Π΅Π±ΡΠΊΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
m($pattern) m{$pattern} m[$pattern] m<$pattern> m|$pattern| m!$pattern! m"$pattern" m#$pattern#
ΠΠ°Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΠΈ Π±ΡΠ²Π°Π΅Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π² ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ° Π²Ρ ΠΎΠ΄ΠΈΡ Π½Π°ΠΊΠ»ΠΎΠ½Π½Π°Ρ ΡΠ΅ΡΡΠ°. ΠΠ· Π΄Π²ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π²ΡΠΎΡΠΎΠΉ ΡΠΌΠΎΡΡΠΈΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΠΎΠ½ΡΡΠ½Π΅Π΅:
/\/usr\/bin\/perl/ m{/usr/bin/perl}
ΠΠ΅Π΄Π°ΡΠΎΠΌ ΠΎΠ±ΠΈΠ»ΠΈΠ΅ Π»Π΅Π²ΡΡ ΠΈ ΠΏΡΠ°Π²ΡΡ Π½Π°ΠΊΠ»ΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ "ΡΡΠ΅Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΈΠ½Π΄ΡΠΎΠΌΠΎΠΌ Π·ΡΠ±ΠΎΡΠΈΡΡΠΎΠΊ" (LTS - Learning Toothpick Syndrome). Π ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌΡΡ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ°Π·ΡΠ° Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ index(). Π‘Π°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π² ΠΎΠ±ΡΠ°Π·ΡΠ΅ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ.
ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΊΠ°ΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ Π½Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, Π° ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ: "ΡΠΈΡΠ»ΠΎ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ ", "ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Ρ Π½Π°ΡΠ°Π»Π° ΡΡΡΠΎΠΊΠΈ", "ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· ΠΏΠ°Ρ ΠΈΠΌΡ = Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΡΡΠΌΠΈ" ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎΠΈΡΠΊΠ° Π·Π°Π΄Π°Π΅ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. Π¨Π°Π±Π»ΠΎΠ½ - ΡΡΠΎ ΠΎΠ±ΡΠ°Π·Π΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ, ΠΏΠΎΠΌΠΈΠΌΠΎ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Ρ. ΠΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Ρ (metacharacter) - ΡΡΠΎ Π·Π½Π°ΠΊΠΈ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ². ΠΠΎΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ:
{} [] () ^ $ . | * + ? \
ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΎΠ±ΡΠ°Π·Π΅Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠΈΡ Π·Π½Π°ΠΊΠΎΠ² Π½Π΅ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ», Π° ΠΊΠ°ΠΊ ΠΎΠ±ΡΠΊΠ½ΠΎΠ²Π΅Π½Π½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ», Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ ΠΎΡΠΎΠ±ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ("ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ"), ΠΏΠΎΡΡΠ°Π²ΠΈΠ² ΠΏΠ΅ΡΠ΅Π΄ Π½ΠΈΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΊΠΎΡΡΡ ΡΠ΅ΡΡΡ (backslash):
$text =~ m"\." # ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π»ΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ ΡΠΎΡΠΊΠ°?
ΠΠ°ΠΊ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ» ΡΠΎΡΠΊΠ° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π² ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ΄ΠΈΠ½ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ», ΠΊΡΠΎΠΌΠ΅ Π·Π½Π°ΠΊΠ° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (\n). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΡ ΠΎΠΆΠΈΡ ΡΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½:
/ΡΠ°ΠΌΠΎ.Π°./ # ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ: 'ΡΠ°ΠΌΠΎΠ²Π°Ρ', 'ΡΠ°ΠΌΠΎΠΊΠ°Ρ', 'ΡΠ°ΠΌΠΎΡΠ°Π΄'... # ΠΠ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ: 'ΡΠ°ΠΌΠΎΠ»ΡΠ±', 'ΡΠ°ΠΌΠΎΠ³ΠΎΠ½', 'ΡΠ°ΠΌΠΎΡ ΠΎΠ΄'...
Π ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΎΠ±ΡΠ°Π·ΡΠ°, Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ΠΌ ΡΡΡΠΎΠΊΠΈ ΠΎΠ±ΡΠ°Π·ΡΡ. ΠΠ°ΡΠΈΠ°Π½ΡΡ ΠΎΠ±ΡΠ°Π·ΡΠ° - ΡΡΠΎ Π½Π°Π±ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ², ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π½Π°ΠΊΠΎΠΌ "Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΡΠ΅ΡΡΠ°" ('|'), ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ "ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ» Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²" (alternation metacharacter). ΠΠΎΠΈΡΠΊ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΡΠΌ, Π΅ΡΠ»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
$text = 'Π§Π΅ΡΠ½Π°Ρ ΠΊΠΎΡΠΊΠ° Π² ΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°ΡΠ΅'; # Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΊΠ°ΡΡ Π·Π΄Π΅ΡΡ print "ΠΠ°ΡΠ»ΠΈ ΠΊΠΎΡΠΊΡ!" if $text =~ /ΠΊΠΎΡ|ΠΊΠΎΡΠΊΠ°|ΠΊΠΎΡΠ΅Π½ΠΎΠΊ/;
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ ΠΎΠ±ΡΠ°Π·ΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π½Π°ΡΠ°Π»ΠΎ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ² ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ, Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠΏΠΈΡΠΊΠ° Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ². ΠΠ½Π°ΡΠ΅ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π½Π°ΠΉΠ΄Π΅Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠ°Ρ. ΠΠ½Π°ΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π΅Π΅ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² Π²ΠΈΠ΄Π΅ /ΠΊΠΎΡΠ΅Π½ΠΎΠΊ|ΠΊΠΎΡ|ΠΊΠΎΡΠΊΠ°/, ΡΡΠΎΠ±Ρ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ ΠΊΠΎΡΠ΅Π½ΠΊΠ°, Π° Π·Π°ΡΠ΅ΠΌ - ΠΊΠΎΡΠ°:
$text = 'Π§Π΅ΡΠ½ΡΠΉ ΠΊΠΎΡΠ΅Π½ΠΎΠΊ Π² ΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°ΡΠ΅'; # ΠΈΡΠ΅ΠΌ Π·Π΄Π΅ΡΡ print "ΠΠ°ΡΠ»ΠΈ ΠΊΠΎΡΠ΅Π½ΠΊΠ°!" if $text =~ /ΠΊΠΎΡ.Π½ΠΎΠΊ|ΠΊΠΎΡ|ΠΊΠΎΡΠΊΠ°/;
Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ±ΡΠ°Π·Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ, Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π΅ Π»ΠΈΡΠ΅ΡΠ°Π» Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ Ρ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ "ΡΠΎΡΠΊΠ°", ΡΡΠΎΠ±Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΠ»ΠΎΠ²Ρ "ΠΊΠΎΡΠ΅Π½ΠΎΠΊ" Π² Π»ΡΠ±ΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ - ΡΠ΅ΡΠ΅Π· "Π΅" ΠΈ ΡΠ΅ΡΠ΅Π· "Ρ". Π§Π°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°ΠΌΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΈΠ·ΡΡΠ½Π΅Π΅, ΡΠ΅ΠΌ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
return if $command =~ /exit|quit|stop|bye/i;
ΠΡΠ»ΠΈ Π² ΠΎΠ±ΡΠ°Π·ΡΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ² ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈΠ»ΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ, ΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π²ΡΠ±ΠΎΡΠ° Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΊΡΡΠ³Π»ΡΠ΅ Π³ΡΡΠΏΠΏΠΈΡΡΡΡΠΈΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
$lotr =~ /(Bilbo|Frodo) Baggins/; # ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ ΠΎΠ±Π±ΠΈΡΠΎΠ²
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΡΡ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ»Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠΊΠ°Π·Π°Π² Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π² ΠΊΠ»Π°ΡΡ. ΠΠ»Π°ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. Π Π°Π΄ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π·Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΠ»ΠΎΠ², ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΡ ΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π±ΡΠΊΠ²ΠΎΠΉ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ°:
/[Π²ΠΊΠ»ΡΡ]ΠΎΡ/ # ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ: 'Π²ΠΎΡ','ΠΊΠΎΡ','Π»ΠΎΡ','ΡΠΎΡ','ΡΠΎΡ'
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½Π° Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ΄Π½Ρ Π±ΡΠΊΠ²Ρ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²:
/[ΠΌΡ][ΡΠ»][Ρ ΠΎ][Π°Π½]/ # ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ: 'ΠΌΡΡ Π°', 'ΡΠ»ΠΎΠ½' # Π° ΡΠ°ΠΊΠΆΠ΅: 'ΡΡΠΎΠ°', 'ΠΌΠ»Ρ Π½', 'ΡΠ»ΠΎΠ°' ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅
Π ΠΊΠ»Π°ΡΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΌΠΈΠ½ΡΡΠΎΠΌ:
[0-9] Π²ΠΌΠ΅ΡΡΠΎ [0123456789] [A-Z] Π²ΠΌΠ΅ΡΡΠΎ [ABCDEFGHIJKLMNOPQRSTUVWXYZ]
Π£ΠΊΠ°Π·ΡΠ²Π°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅, Π·Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΡ:
/[0-9a-fA-F]/# ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ: '5', 'b', 'D' ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅
Π§ΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Π·Π½Π°ΠΊ '-', Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² Π½Π°ΡΠ°Π»Π΅ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ΅ΡΡΠΎΠΉ. ΠΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ, Π²ΡΠ΅ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Ρ (ΠΊΡΠΎΠΌΠ΅ ']') ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΊ ΠΌΠΎΠ³ΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π·Π½Π°ΠΊΠ° ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠΊΠΎΠ±ΠΎΠΊ:
[-.,;:!?] # Π·Π½Π°ΠΊΠΈ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ [()[\]{}] # ΡΠΊΠΎΠ±ΠΊΠΈ: \] ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΊΠΎΠ±ΠΊΡ ']'
ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΡΠ°Π·ΠΈΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ "Π²ΡΠ΅, ΠΊΡΠΎΠΌΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²": Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΊΡΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΈ ΡΡΠ°Π²ΠΈΡΡΡ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΡΡΠΈΡΠ°Π½ΠΈΡ ('^'). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ "Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°, ΠΊΡΠΎΠΌΠ΅ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ" ΠΈΠ»ΠΈ "Π»ΡΠ±ΠΎΠ³ΠΎ Π½Π΅ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°":
[^-.,;:!?] # Π²ΡΠ΅, ΠΊΡΠΎΠΌΠ΅ ΡΡΠΈΡ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ [^0-9] # Π½Π΅ ΡΠΈΡΡΡ
Π§ΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» '^', Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π΅ ΠΏΠ΅ΡΠ²ΡΠΌ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° '\':
[*^] ΠΈΠ»ΠΈ ΡΠ°ΠΊ: [\^]
ΠΠ»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎΡΡΠΎΡΡΠΈΠ΅ ΠΈΠ· Π»Π°ΡΠΈΠ½ΡΠΊΠΎΠΉ Π±ΡΠΊΠ²Ρ Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄ Π½Π΅ΠΉ. ΠΠΎΡ ΠΎΠ½ΠΈ:
\d - Π»ΡΠ±Π°Ρ Π΄Π΅ΡΡΡΠΈΡΠ½Π°Ρ ΡΠΈΡΡΠ°, ΡΠΎ Π΅ΡΡΡ [0-9] \D - Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ», ΠΊΡΠΎΠΌΠ΅ ΡΠΈΡΡΡ: [^0-9] ΠΈΠ»ΠΈ [^\d] \w - ΡΠΈΠΌΠ²ΠΎΠ», ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠΉ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°:[a-zA-Z0-9_] \W - ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° \w, ΡΠΎ Π΅ΡΡΡ [^\w] \s - ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ»: ΠΏΡΠΎΠ±Π΅Π», \t, \n, \r ΠΈΠ»ΠΈ \f \S - Π»ΡΠ±ΠΎΠΉ Π½Π΅ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ», ΡΠΎ Π΅ΡΡΡ [^\s]
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ°Π·ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π»ΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΡΠΈΡΡ, ΠΎΠΊΡΡΠΆΠ΅Π½Π½ΠΎΠ΅ Π»ΡΠ±ΡΠΌΠΈ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ: