Axborotdan xabardor qilish uchun muntazam ifodani qanday olish mumkin, faqat tekshirishni emas

Bir mag'lubiyat zip/pochta indeksi yoki yo'qligini tekshirish uchun muntazam ifoda bor. Lekin, men uni to'liq manzildan (yoki iloji bo'lsa, har qanday mag'lubiyatdan) ajratib olishni istardim.

Mening hozirgi muntazam ifodasi:

/^((\d{5}-\d{4})|(\d{5})|([a-zA-Z]\d[a-zA-Z]\s\d[a-zA-Z]\d)|([a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d))$/

Agar kerak bo'lsa funktsiyani bajarishga tayyorman (men PHP bilan tekshiraman), lekin imkoni boricha regexp ishni bajarishni xohlayman.

1

3 javoblar

PHP guruhlarni () qatorida preg_match() :

$matches = array();
$pattern = "/^((\d{5}-\d{4})|(\d{5})|([a-zA-Z]\d[a-zA-Z]\s\d[a-zA-Z]\d)|([a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d))$/";
preg_match($pattern, $your_source, $matches);
print_r($matches);
2
qo'shib qo'ydi
Yo, buni bilardim. Lekin, bu regexpni kattaroq magistradan olishimga yordam bermaydi; faqat regexp ichidagi o'zgaruvchilar
qo'shib qo'ydi muallif Martin, manba

preg_match, which I assume you're already using when you're checking a string against your regular expression, also gives you back the actual text that matched your pattern.

preg_match($regex, $input, $matches);
echo $matches[0];

Uchinchi dalillar regexni sizning kirishingiz bilan solishtirish natijalari bilan to'ldiriladi. $ matches [0] butun naqshga mos keladigan matnni o'z ichiga oladi, yuqori ko'rsatkichlar esa subpatternsni (naqshning qismlari Qavslar ichiga olingan) olinishiga nisbatan mos keladigan matnni o'z ichiga oladi.

Biroq, sizning holatingizda siz o'zingizning namunangizni ^ va $ harflari kiritilganidan keyin kiritishingiz mumkin. butun kirish satrini (yoki to'liq satrni multiline rejimida). Ushbu naqshni ishlatishdan oldin, undan katta koddan pochta indeksini olish uchun ^ va $ dan qutulish kerak.

2
qo'shib qo'ydi
Ajoyib! Siz haqsiz, men preg_match() ni ishlatib, uchinchi parametr tufayli o'zgaruvchilarni qatorga guruhlangan. Lekin ^ va $ haqida ma'lumot kerakli narsadir
qo'shib qo'ydi muallif Martin, manba

To'liq manzil bilan ishlayotganingiz sababli, nima uchun aniq manzilni aniqlaydigan va tasdiqlaydigan va komponentlarini (shu jumladan to'liq Pochta kodini) ajraladigan xizmatga tayanib, yaxshi javob berasizmi? Bu, albatta, har qanday taxminni yo'q qiladi. Quyidagi rasmda SmartyStreets tomonidan har qanday matndan manzillarni olib qo'yadigan vosita ko'rsatilgan. To'liq oshkor qilishdan manfaatdor ekanman, men dasturiy ta'minotni ishlab chiquvchi sifatida SmartyStreets .

https://smartystreets.com/account/extract"> noreferrer »ni bosing

LiveAddress extraction

0
qo'shib qo'ydi
PhP |BotsUz
PhP |BotsUz
93 ishtirokchilar

Phpni o'rganishni Hohlasangiz https://t.me/joinchat/AAAAAE-KRc5dd5tPMmGmWA A'zo bo'lin