JavaScript тұрақты өрнектеріндегі таңбалар жиыны
Таңбалар топтары \d және \w өте
икемді емес. Тіпті барлық әріптерді табу, бірақ сандарды емес -
сияқты қарапайым міндет
олармен шешіле алмайды. Мұндай міндеттер үшін
'немесе' операциясын білдіретін
шаршы жақшаларды қолдану керек.
Шаршы жақшалар ішінде көрсетілген кез келген таңбаны
ауыстырады. Мысалы,
мынадай: /x[abc]x/ - біз шеттерінде x әріптері болуы керек,
ал ортасында
- бір таңба: 'a', немесе 'b',
немесе 'c' болады деп айтамыз.
Шаршы жақшалардан кейін қайталау операторларын
жаза аласыз. Мысалы, мынадай: /x[abc]+x/
- біз x арасында
'a', 'b'
және 'c' таңбаларының кез келген саны болуы мүмкін деп айтамыз - кез келген комбинацияда.
Тек таңбаларды тізіп қана қоймай,
екі таңба арасына дефис қойып,
таңбалар тобын жасауға болады. Мысалы, мынадай: [a-d] -
'a'-дан
'd'-ға дейінгі барлық таңбаларды аламыз.
Мысалдарды қарастырайық.
Мысал
Бұл мысалда іздеу үлгісі мынадай:
x арасында 'a'-дан
'z'-ға дейінгі кез келген әріп:
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');
Нәтижесінде айнымалыға мыналар жазылады:
'! ! ! x@x'
Мысал
Бұл мысалда іздеу үлгісі мынадай:
x арасында 'a'-дан
'k'-ға дейінгі кез келген әріп:
let str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');
Нәтижесінде айнымалыға мыналар жазылады:
'! ! xmx x@x'
Мысал
Бұл мысалда іздеу үлгісі мынадай:
x арасында 'A'-дан
'Z'-ға дейінгі кез келген әріп:
let str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');
Нәтижесінде айнымалыға мыналар жазылады:
'xax ! xcx x@x'
Мысал
Бұл мысалда іздеу үлгісі мынадай:
x арасында 0-ден 9-ға дейінгі кез келген сан:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');
Нәтижесінде айнымалыға мыналар жазылады:
'xax ! ! ! x@x'
Мысал
Бұл мысалда іздеу үлгісі мынадай:
x арасында 3-тен 7-ге дейінгі кез келген сан:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');
Нәтижесінде айнымалыға мыналар жазылады:
'xax x1x ! ! x@x'
Мысал
Бұл мысалда іздеу үлгісі мынадай:
x арасында 'a'-дан
'z'-ға дейінгі кез келген әріп немесе 1-ден 9-ға дейінгі сан:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');
Нәтижесінде айнымалыға мыналар жазылады:
'! ! ! ! x@x'
Мысал
Бұл мысалда іздеу үлгісі мынадай:
x арасында 'a'-дан
'z'-ға дейінгі кез келген әріп немесе 'A'-дан
'Z'-ға дейінгі әріп:
let str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');
Нәтижесінде айнымалыға мыналар жазылады:
'! ! ! x5x x@x'
Мысал
Бұл мысалда іздеу үлгісі мынадай:
x арасында 'a'-дан
'z'-ға дейінгі кез келген әріп немесе 1, 2 сандары:
let str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');
Нәтижесінде айнымалыға мыналар жазылады:
'! ! ! ! x3x'
Мысал
Бұл мысалда іздеу үлгісі мынадай:
x арасында 'a'-дан 'z'-ға дейінгі әріптер
1 және одан да көп санында:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');
Нәтижесінде айнымалыға мыналар жазылады:
'xx ! ! ! x123x xa3x'
Мысал
Әріптер саны нөл де болуы мүмкін етейік:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');
Нәтижесінде айнымалыға мыналар жазылады:
'! ! ! ! x123x xa3x'
Практикалық тапсырмалар
Мына жол берілген:
let str = 'aba aea aca aza axa';
Келесі үлгі бойынша табатын тұрақты өрнек жаз:
шеттерінде 'a' әріптері тұр,
ал олардың арасында - 'b', 'e'
немесе 'x' әріптері.
Мына жол берілген:
let str = 'a1a a3a a7a a9a aba';
Келесі үлгі бойынша табатын тұрақты өрнек жаз:
шеттерінде 'a' әріптері тұр,
ал олардың арасында - 3-тен 6-ға дейінгі сан.
Мына жол берілген:
let str = 'aba aea afa aha aga';
Келесі үлгі бойынша табатын тұрақты өрнек жаз:
шеттерінде 'a' әріптері тұр,
ал олардың арасында - a-дан g-ға дейінгі әріп.
Мына жол берілген:
let str = 'aba aea afa aha aga';
Келесі үлгі бойынша табатын тұрақты өрнек жаз:
шеттерінде 'a' әріптері тұр,
ал олардың арасында - a-дан f-ға дейін және j-ден z-ға дейінгі әріп.
Мына жол берілген:
let str = 'aAa aea aEa aJa a3a';
Келесі үлгі бойынша табатын тұрақты өрнек жаз:
шеттерінде 'a' әріптері тұр,
ал олардың арасында - a-дан f-ға дейін және A-дан D-ға дейінгі әріп.
Мына жол берілген:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Келесі үлгі бойынша табатын тұрақты өрнек жаз:
шеттерінде 'a' әріптері тұр,
ал олардың арасында - кіші латын әріптері,
қалғаналарға қол тигізбей.
Мына жол берілген:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Келесі үлгі бойынша табатын тұрақты өрнек жаз:
шеттерінде 'a' әріптері тұр,
ал олардың арасында - кіші және үлкен латын
әріптері, қалғаналарға қол тигізбей.
Мына жол берілген:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Келесі үлгі бойынша табатын тұрақты өрнек жаз:
шеттерінде 'a' әріптері тұр,
ал олардың арасында - кіші латын әріптері
және сандар, қалғаналарға қол тигізбей.