JavaScript-тегімен жұмыс жасаудағы тұрақты өрнектерге кіріспе
Тұрақты өрнектер - бұл күрделі іздеу және ауыстыру (немесе жай іздеу) үшін арналған командалар. Олар өте қызықты нәрселер жасауға мүмкіндік береді, бірақ, өкінішке орай, меңгеру үшін өте қиын.
JavaScript-те тұрақты өрнектермен жұмыс істеу үшін
бірнеше әдістер бар. Біз олармен replace
әдісінің мысалында танысамыз
- сіз бұл әдісті білесіз: ол бірінші
параметр ретінде нені ауыстыру керектігін, ал екіншісі
- неге ауыстыру керектігін қабылдайды. Ал әдіс өзі
ауыстыру жүргізілетін жолға қолданылады:
'bab'.replace('a', '!'); // 'b!b' мәнін қайтарады
Бұл әдістің бірінші параметрі ретінде жай жолды емес,
тұрақты өрнекті бере аламыз.
Тұрақты өрнек - бұл көлбеу сызықтар / ішінде орналасқан
командалар жиынтығы. Бұл
көлбеу сызықтар тұрақты өрнектердің
шектеуіштері деп аталады.
Тұрақты өрнектердің өзі екі түрлі таңбадан тұрады: өздерін білдіретін таңбалардан және арнайы таңбалар деп аталатын команда таңбаларынан.
Әріптер мен сандар өздерін білдіреді. Келесі
мысалда біз тұрақты өрнекті қолданып
'a' әрпін !-ге ауыстырамыз:
'bab'.replace(/a/, '!'); // 'b!b' мәнін қайтарады
Ал нүкте арнайы таңба болып табылады
және кез келген таңбаны білдіреді. Келесі
мысалда біз жолды мына үлгі бойынша табамыз:
'x' әрпі, содан кейін кез келген таңба, содан кейін
тағы да 'x' әрпі:
'xax eee'.replace(/x.x/, '!'); // '! eee' мәнін қайтарады
Шектеуіштерден кейін модификаторлар жазуға болады
- бұл тұрақты өрнектің жалпы қасиеттерін
өзгертетін командалар. Мысалы, модификатор
g жаппай іздеу және ауыстыру режимін қосады
- онсыз тұрақты өрнек тек бірінші сәйкестікті табады,
ал онымен - барлық сәйкестіктерді.
Келесі мысалда модификатор
g көрсетілмеген және тұрақты өрнек тек бірінші
сәйкестікті табады:
'aab'.replace(/a/, '!'); // '!ab' мәнін қайтарады
Ал енді тұрақты өрнек барлық сәйкестіктерді табады:
'aab'.replace(/a/g, '!'); // '!!b' мәнін қайтарады
Мына жол берілген:
let str = 'ahb acb aeb aeeb adcb axeb';
Мына үлгі бойынша 'ahb', 'acb', 'aeb'
жолдарын табатын тұрақты өрнек жазыңыз:
'a' әрпі, кез келген таңба,
'b' әрпі.
Мына жол берілген:
let str = 'aba aca aea abba adca abea';
Мына үлгі бойынша 'abba', 'adca', 'abea'
жолдарын табатын тұрақты өрнек жазыңыз:
'a' әрпі, 2
кез келген таңба, 'a' әрпі.
Мына жол берілген:
let str = 'aba aca aea abba adca abea';
'adca'-ны қоспай, 'abba' және 'abea'
жолдарын табатын тұрақты өрнек жазыңыз.