Регулярные ибораҳо дар JavaScript-ро муаррифӣ кардан
Регулярные ибораҳо - ин чунон фармонҳо барои ҷустуҷӯи мураккаб ва иваз кардан (ё танҳо ҷустуҷӯ) мебошанд. Онҳо имкон медиҳанд, ки чиҳои хеле ҷолиб анҷом диҳед, аммо, мутаассифона, дар омӯзиш хеле душвор мебошанд.
Якчанд усули JavaScript барои кор бо регулярные ибораҳо вуҷуд дорад. Мо бо мисоли усули replace ба омӯзиши онҳо шурӯъ мекунем - шумо аллакай бо ин усул ошноӣ доред: он параметри аввал чизеро, ки бояд иваз карда шавад, мегирад ва параметри дуюм - ба он чи иваз карда мешавад. Ва худи усул ба сатр, ки дар он ивазӣ иҷро мешавад, татбиқ карда мешавад:
'bab'.replace('a', '!'); // 'b!b' -ро бармегардонад
Ба параметри аввали ин усул танҳо сатр набуда, балки regular expression (регулярные ибора) низ дода мешавад. Regular expression маҷмӯи фармонҳоест, ки дар дохили кашиҳои / ҷойгиранд. Ин кашиҳо delimiters (маҳдудкунандаҳои) regular expressions номида мешаванд.
Худи regular expressions аз ду навъ аломатҳо иборат мебошанд: аз онҳое, ки худашонро ифода мекунанд ва аз аломатҳои-фармон, ки special characters (аломатҳои махсус) номида мешаванд.
Ҳарфҳо ва рақамҳо худашонро ифода мекунанд. Дар мисоли навбатӣ, мо бо ёрии regular expression ҳарфи 'a' -ро ба ! иваз мекунем:
'bab'.replace(/a/, '!'); // 'b!b' -ро бармегардонад
Ва нуқта аломати махсус буда, ҳар як аломат -ро ифода мекунад. Дар мисоли навбатӣ, мо сатрро бо ин шаблон меёбем: ҳарфи 'x', сипас ягон аломат, боз ҳарфи 'x':
'xax eee'.replace(/x.x/, '!'); // '! eee' -ро бармегардонад
Пас аз маҳдудкунандаҳо, modifiers (тағйирдиҳандагон) - фармонҳое, ки хусусиятҳои умумии regular expression -ро тағйир медиҳанд, навишта мешаванд. Масалан, modifier-и g режими ҷустуҷӯи умумӣ ва ивазро фаъол мекунад - бе он regular expression танҳо якумин мувофиқатро меҷӯяд, ва бо он - ҳамаи мувофиқатҳоро.
Дар мисоли навбатӣ modifier-и g мушаххас нашудааст ва regular expression танҳо якумин мувофиқатро меёбад:
'aab'.replace(/a/, '!'); // '!ab' -ро бармегардонад
Ва акнун regular expression ҳамаи мувофиқатҳоро меёбад:
'aab'.replace(/a/g, '!'); // '!!b' -ро бармегардонад
Сатр дода шудааст:
let str = 'ahb acb aeb aeeb adcb axeb';
Regular expression-еро нависед, ки сатрҳои 'ahb', 'acb', 'aeb' -ро бо шаблон ёбад: ҳарфи 'a', ягон аломат, ҳарфи 'b'.
Сатр дода шудааст:
let str = 'aba aca aea abba adca abea';
Regular expression-еро нависед, ки сатрҳои 'abba', 'adca', 'abea' -ро бо шаблон ёбад: ҳарфи 'a', 2 аломати дилхоҳ, ҳарфи 'a'.
Сатр дода шудааст:
let str = 'aba aca aea abba adca abea';
Regular expression-еро нависед, ки сатрҳои 'abba' ва 'abea' -ро ёбад, 'adca' -ро нагирад.