Гуру regex, прошу вашей помощи. Нужно спарсить номера с микс источников. Номера всегда начинается с +435/05 + 8 цифр Формат: +435XXXXXXXX - международный 05XXXXXXXX - местный План минимум для основных форматов: Код: +43511111111 +43 511111111 +43 511 111111 0511111111 0511 111111 Пробовал по аналогии делать, например это Код: /^\s*(?:\+?(\d{1,3}))?([-. (]*(\d{3})[-. )]*)?((\d{3})[-. ]*(\d{2,4})(?:[-.x ]*(\d+))?)\s*$/gm почти подходит, но собирает много мусора и ненужные префиксы. Возможно ли составить регулярку которая бы просто брала +435/05 и 8 цифр (в идеале с отсеиванием пробелов и прочих символов)? Был бы очень благодарен... План максимум: Спойлер +43511111111 +4351111 1111 +43511 11 11 11 +43 511111111 +43 51111 1111 +43 511 111111 +43 511 111 111 +43 511 11 11 11 +43511 111111 +43511 111 111 +43511 11 11 11 +43(0)511111111 +43(0)51111 1111 +43(0)511 111 111 +43(0)511 11 11 11 +43(0) 511 111111 +43(0) 511 111 111 +43(0) 511 11 11 11 0511111111 0511 111111 0511 111 111 0511 11 11 11 0 511111111 0 51111 1111 0 511 111111 0 511 111 111 0 511 11 11 11
одной регуляркой тут не обойтись, необходимо 3 действия: собрать похожие на номер последовательности почистить на мусор проверить более строгой регуляркой Используем для сбора номеров: Код: (?:^|[^\d])((?:\+43|0)[\d ()]+) Для удаления лишних символов: Код: [^\d+]+ И для строгой проверки: Код: ^((?:\+430?5|05)\d{8})$
Fofbidden, от души) Один из лучших продуктов на отечественном рынке. А поддержка так вообще выше всяких похвал
Прошу помочь разобраться. Подправил шаблон под себя.. Спойлер: Код eyJwcmVzZXQiOiIoXHUwNDE4XHUwNDNkXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDNk XHUwNDM1XHUwNDQyX1x1MDQzY1x1MDQzMFx1MDQzM1x1MDQzMFx1MDQzN1x1MDQz OFx1MDQzZFx1MDQ0YilfZW1haWxfcGhvbmVfMiIsInZhbHVlIjp7InByZXNldCI6 IihcdTA0MThcdTA0M2RcdTA0NDJcdTA0MzVcdTA0NDBcdTA0M2RcdTA0MzVcdTA0 NDJfXHUwNDNjXHUwNDMwXHUwNDMzXHUwNDMwXHUwNDM3XHUwNDM4XHUwNDNkXHUw NDRiKV9lbWFpbF9waG9uZV8yIiwicGFyc2VycyI6W1siTmV0OjpIVFRQIiwiZGVm YXVsdCIseyJ0eXBlIjoib3ZlcnJpZGUiLCJpZCI6InVzZXByb3h5IiwidmFsdWUi OmZhbHNlfSx7InR5cGUiOiJjdXN0b21SZXN1bHQiLCJyZXN1bHQiOiJkYXRhIiwi cmVnZXgiOiIoKD8+XFxiWy1hLXowLTkuXyUrXSspQFthLXowLTkuLV0rXFwuW2Et el17Miw2fSlcXGIiLCJyZWdleFR5cGUiOiJpZyIsInJlc3VsdFR5cGUiOiJhcnJh eSIsImFycmF5TmFtZSI6Im1haWxzIiwicmVzdWx0cyI6WyJtYWlsIl19LHsidHlw ZSI6ImN1c3RvbVJlc3VsdCIsInJlc3VsdCI6ImRhdGEiLCJyZWdleCI6Iig/Ol58 W15cXGRdfDApKCg/OlxcKzN8WzEtOV18XFwoKVtcXGR8XFwtfFxcICgpXSspIiwi cmVnZXhUeXBlIjoiZyIsInJlc3VsdFR5cGUiOiJhcnJheSIsImFycmF5TmFtZSI6 InBob25lcyIsInJlc3VsdHMiOlsicGhvbmUiXX0seyJ0eXBlIjoib3ZlcnJpZGUi LCJpZCI6ImZvcm1hdHJlc3VsdCIsInZhbHVlIjoiWyVcblx0Rk9SRUFDSCBpID0g WzAuLmRhdGFzLm1heF07XG4gICAgXHRxdWVyeS5vcmlnIF8gXCI7XCIgXyBcbiAg ICBcdG1haWxzLiRpLm1haWwgXyBcIjtcIiBfIFxuICAgICAgICBnb29kcGhvbmVz MS4kaS5waG9uZTEgXyBcIlxcblwiIElGIHBob25lMSAhPSAnbm9uZSc7XG5cdEVO RDtcbiVdIn1dXSwicmVzdWx0c0Zvcm1hdCI6IiRwMS5wcmVzZXQiLCJyZXN1bHRz U2F2ZVRvIjoiZmlsZSIsInJlc3VsdHNGaWxlTmFtZSI6IiRkYXRlZmlsZS5mb3Jt YXQoKS50eHQiLCJhZGRpdGlvbmFsRm9ybWF0cyI6W10sInJlc3VsdHNVbmlxdWUi OiJubyIsInF1ZXJ5Rm9ybWF0IjpbIiRxdWVyeSJdLCJ1bmlxdWVRdWVyaWVzIjpm YWxzZSwic2F2ZUZhaWxlZFF1ZXJpZXMiOmZhbHNlLCJpdGVyYXRvck9wdGlvbnMi Onsib25BbGxMZXZlbHMiOmZhbHNlLCJxdWVyeUJ1aWxkZXJzQWZ0ZXJJdGVyYXRv ciI6ZmFsc2UsInF1ZXJ5QnVpbGRlcnNPbkFsbExldmVscyI6ZmFsc2V9LCJyZXN1 bHRzT3B0aW9ucyI6eyJvdmVyd3JpdGUiOmZhbHNlfSwiZG9Mb2ciOiJubyIsImtl ZXBVbmlxdWUiOiJObyIsIm1vcmVPcHRpb25zIjpmYWxzZSwicmVzdWx0c1ByZXBl bmQiOiIiLCJyZXN1bHRzQXBwZW5kIjoiIiwicXVlcnlCdWlsZGVycyI6W10sInJl c3VsdHNCdWlsZGVycyI6W3sic291cmNlIjpbMCxbIm1haWxzIiwibWFpbCJdXSwi dHlwZSI6ImxjIiwiYXJyYXkiOiJtYWlscyIsInRvIjoibWFpbCJ9LHsic291cmNl IjpbMCxbInBob25lcyIsInBob25lIl1dLCJ0eXBlIjoicmVnZXhSZXBsYWNlIiwi YXJyYXkiOiJwaG9uZXMxIiwicmVnZXgiOiJbXlxcZCtdKyIsInJlZ2V4VHlwZSI6 ImciLCJyZXBsYWNlIjoiIiwidG8iOiJwaG9uZTEifSx7InNvdXJjZSI6WzAsWyJw aG9uZXMxIiwicGhvbmUxIl1dLCJ0eXBlIjoic3RyaW5nUmVwbGFjZSIsImFycmF5 IjoicGhvbmVzMSIsInNlYXJjaCI6IikiLCJyZXBsYWNlIjoiIiwidG8iOiJwaG9u ZTEifSx7InNvdXJjZSI6WzAsWyJwaG9uZXMxIiwicGhvbmUxIl1dLCJ0eXBlIjoi c3RyaW5nUmVwbGFjZSIsImFycmF5IjoicGhvbmVzMSIsInNlYXJjaCI6IigiLCJy ZXBsYWNlIjoiIiwidG8iOiJwaG9uZTEifSx7InNvdXJjZSI6WzAsWyJwaG9uZXMx IiwicGhvbmUxIl1dLCJ0eXBlIjoicmVnZXgiLCJhcnJheSI6Imdvb2RwaG9uZXMx IiwicmVnZXgiOiJeKCg/OlxcKzM4PzV8MFswLTldKVxcZHs4fSkkIiwicmVnZXhU eXBlIjoiZyIsInRvIjpbInBob25lMSJdfV0sImNvbmZpZ092ZXJyaWRlcyI6W119 fQ== Пытаюсь получить данные URL;e-mail;Телефон С первыми двумя проблем не возникло, а вот телефон в массиве вывода не могу получить. Данные в массиве: Если шаблон вывода имеет код [% FOREACH i = [0..datas.max]; query.orig _ ";" _ mails.$i.mail _ ";" _ goodphones1.$i.phone1 _ "\n" IF phone1 != 'none'; END; %] Тогда получаю: Сайт на котором тестировался пресет: _uzauto-gm.com.ua. А так же как объединить данные в массиве ( в случае если телефонов окажется несколько на странице) Спасибо!
Здравствуйте. Попробуйте так. Код: [% FOREACH i = [0..datas.max]; str = query.orig _ ";" _ mails.$i.mail _ ";" ; FOREACH item IN goodphones1; IF item.phone1 != 'none'; str = str _ item.phone1 _ ";"; END; END; str _ "\n"; END; %]