JavaScriptda muntazam ifodalarga kirish
Muntazam ifodalar - bu murakkab qidiruv va almashtirish (yoki oddiygina qidiruv) uchun buyruqlardir. Ular juda qiziqarli ishlarni bajarishga imkon beradi, ammo, afsuski, o'zlashtirish ancha qiyin.
JavaScriptda muntazam ifodalar bilan ishlashning bir nechta usullari mavjud. Biz ularni replace misolida tanishta boshlaymiz - siz bu usul bilan tanishsiz: u birinchi parametrida nima almashtirishni, ikkinchi parametrida esa nima bilan almashtirishni qabul qiladi. Usulning o'zi esa almashtirish amalga oshiriladigan satrga qo'llaniladi:
'bab'.replace('a', '!'); // 'b!b' ni qaytaradi
Ushbu usulning birinchi parametri sifatida oddiy satrni emas, balki muntazam ifoda ni uzatish mumkin. Muntazam ifoda / ichida joylashgan buyruqlar to'plamidan iborat. Bu chiziqchalar muntazam ifodalar chegaraviy belgilari deb ataladi.
Muntazam ifodalar o'zlarini ifodalovchi belgilar va maxsus belgilar deb ataladigan buyruq belgilari bo'lgan ikkita turdagi belgilardan tashkil topgan.
Harflar va raqamlar o'zlarini ifodalaydi. Quyidagi misolda biz muntazam ifoda yordamida 'a' harfini ! ga almashtiramiz:
'bab'.replace(/a/, '!'); // 'b!b' ni qaytaradi
Nuqta esa maxsus belgi bo'lib, har qanday belgi ni ifodalaydi. Quyidagi misolda biz shunday andoza bo'yicha satrni topamiz:
'x' harfi, keyin har qanday belgi, keyin yana 'x' harfi:
'xax eee'.replace(/x.x/, '!'); // '! eee' ni qaytaradi
Chegaraviy belgilardan keyin modifikatorlar yozish mumkin - bu muntazam ifodaning umumiy xususiyatlarini o'zgartiradigan buyruqlar. Masalan, g modifikatori global qidiruv va almashtirish rejimini yoqadi - unda muntazam ifoda faqat birinchi moslikni qidiradi, modifikator bilan esa - barcha mosliklarni qidiradi.
Quyidagi misolda g modifikatori ko'rsatilmagan va muntazam ifoda faqat birinchi moslikni topadi:
'aab'.replace(/a/, '!'); // '!ab' ni qaytaradi
Endi esa muntazam ifoda barcha mosliklarni topadi:
'aab'.replace(/a/g, '!'); // '!!b' ni qaytaradi
Satr berilgan:
let str = 'ahb acb aeb aeeb adcb axeb';
'a' harfi, har qanday belgi, 'b' harfi andozasi bo'yicha 'ahb', 'acb', 'aeb' satrlarini topadigan muntazam ifoda yozing.
Satr berilgan:
let str = 'aba aca aea abba adca abea';
'a' harfi, 2 har qanday belgi, 'a' harfi andozasi bo'yicha 'abba', 'adca', 'abea' satrlarini topadigan muntazam ifoda yozing.
Satr berilgan:
let str = 'aba aca aea abba adca abea';
'adca' ni olmasdan, 'abba' va 'abea' satrlarini topadigan muntazam ifoda yozing.