Muntazam ifoda
Muntazam ifodalar elektron pochta xabarlarini qayta ishlash qoidalari doirasida ma'lumotlarni ajratib olish vaqtida kerakli matn bo‘lagini ajratib olish imkonini beradi.
Muhim
- Muntazam ifodalarni qo‘llash odatda dasturlash ko'nikmalarini talab qiladi. Agar sizda dasturlash tillari bo‘yicha bilimlar bo‘lmasa, yordam so‘rashingiz kerak.
- Planfixda muntazam ifodalar Pattern.DOTALL va Pattern.MULTILINE opsiyalari bilan ishlaydi. Tekshirish uchun validator — gms saytidan foydalanishingiz mumkin.
- Muntazam ifodalar REGEXPFIND funktsiyasi bilan ham ishlatilishi mumkin.
Muntazam ifodalarni formatlash
Planfix Java-da ishlatiladigan muntazam ifoda formatidan foydalanadi. Muntazam ifodalar sintaksisi <([{\^-=$!|]})?*+.> belgilarini o‘z ichiga oladi, ular harflar bilan birlashtirilib meta-belgilar hosil qiladi. Eng ko‘p ishlatiladigan meta-belogilar quyidagi jadvalda keltirilgan:
| Meta-belgi | Ma'nosi |
|---|---|
| ^ | kiritish boshida |
| $ | kiritish oxirida |
| \d | raqam |
| \D | raqam bo‘lmagan belgilar |
| \s | bo‘shliq belgisi |
| \S | bo‘shliq bo‘lmagan belgi |
| \w | harf-raqam yoki pastki chiziq |
| \W | harf-raqam va pastki chiziqdan tashqari har qanday belgi |
| . | har qanday belgi |
| \t | tab belgisi |
| \n | yangi qator belgisi |
| \r | carriage return belgisi |
| [abc] | bu ro‘yxatdagi istalgan belgilar (a, b yoki c) |
| [^abc] | ro‘yxatdagi belgilar istisno (a, b yoki c emas) |
| [a-zA-Z] | bir nechta oraliqlar (A dan Z gacha bo‘lgan lotin harflari, registr inobatga olinsa) |
| [a-d[m-p]] | belgilarni birlashtirish (a dan d gacha va m dan p gacha) |
| [a-z&&[def]] | kesishuvchi belgilar (d, e, f) |
| [a-z&&[^bc]] | belgilarni ayirish (a, d-z) |
| ? | bitta yoki mavjud emas |
| * | ya'ni nol yoki bir nechta moslash |
| + | bitta yoki undan ortiq marta |
| {n} | n marta |
| {n,} | n yoki undan ko‘p marta |
| {n,m} | kamida n marta va ko‘p bo‘lmagan m marta |
Foydali ma'lumot
- Muntazam ifoda yordamida matnni qayta ishlash natijasi birinchi capturing guruhga (capturing group 1) aylanadi. Shuning uchun kerakli natija qavslar ichiga olinishi kerak, va qolgan guruhlar non-capturing (?:) qilib berilishi lozim.