JavaScript регуляр ифодаларида кўп қatorlik
Регуляр ифодалар кўп қatorli сатрлар билан ишлашда ўзига хос хусусиятларга эга. Келинг, уларни куйидаги сатр мисолида кўрамиз, унда оддий белгилар, қator алмаштириш белгилари ва табуляция белгилари мавжуд:
let str = `111
222
333
444`;
Қator алмаштириш
Қator алмаштириш белгиларини
'\n' буйруги ёрдамида топиш мумкин:
let res = str.replace(/\n/g, '!');
Натижада ўзгарувчига куйидагилар ёзилади (қatorлар орасидаги бўшлиқлар табуляция):
`111! 222! 333! 444`;
Табуляция
Табуляция белгиларини
'\t' буйруги ёрдамида топиш мумкин:
let res = str.replace(/\t/g, '!');
Натижада ўзгарувчига куйидагилар ёзилади:
`
111
!222
!333
!444
`;
Нуқтанинг иши
'.' буйруги кўп қatorли
сатр учун қator алмаштириш белгиларини тутмайди:
let res = str.replace(/./g, '!');
Натижада ўзгарувчига куйидагилар ёзилади:
`
!!!
!!!!
!!!!
!!!!
`;
Ихтиёрий белги
Кўп қatorли сатрдаги барча белгиларни топиш учун
[\s\S] кўринишидаги маъкул усул ишлатилади.
Бундай конструкция барча оддий белгилар ва
барча қator алмаштиришларни топади:
let res = str.replace(/[\s\S]/g, '!');
Натижада ўзгарувчига куйидагилар ёзилади:
`!!!!!!!!!!!!!!!!!!`;
Шляпка
'm' модификатори ёрдамида
кўп қatorли режимни ёқиш мумкин.
Бу ҳолатда шляпка ҳар бир
қatorнинг бошланишини топади:
let res = str.replace(/^/gm, '!');
Натижада ўзгарувчига куйидагилар ёзилади:
`
!111
!222
!333
!444
`;
Доллар
'
буйруги кўп қatorли режимда
ҳар бир қatorнинг охирини топади:
let res = str.replace(/$/gm, '!');
Натижада ўзгарувчига куйидагилар ёзилади:
`
111!
222!
333!
444!
`;
Амалий машқлар
Сатр берилган:
`
abc
def
ghi
jkl
`;
Ушбу сатрни куйидагига айлантирадиган регуляр ифодани ёзинг:
`
abc!
def!
ghi!
jkl!
`;
Сатр берилган:
`
abc
def
ghi
jkl
`;
Ушбу сатрни куйидагига айлантирадиган регуляр ифодани ёзинг:
`
! abc
! def
! ghi
! jkl
`;
Сатр берилган:
`
abc
def
ghi
jkl
`;
Ушбу сатрни куйидагига айлантирадиган регуляр ифодани ёзинг:
`!
abc
def
ghi
jkl
!`;
Сатр берилган:
`
abc
def
ghi
jkl
`;
Ушбу сатрни куйидагига айлантирадиган регуляр ифодани ёзинг:
`!
! abc
! def
! ghi
! jkl
!`;
Сатр берилган:
`
abc
def
ghi
jkl
`;
Ушбу сатрни куйидагига айлантирадиган регуляр ифодани ёзинг:
`!
abc!
def!
ghi!
jkl!
!`;
Сатр берилган:
`
abc
def
ghi
jkl
`;
Ушбу сатрни куйидагига айлантирадиган регуляр ифодани ёзинг:
`
!abc
!def
!ghi
!jkl
`;