Страница 1 из 1
Помощь в составлении регулярного выражения
Добавлено: 21.07.2020 14:00
Павел Поляков
Добрый день, коллеги!
Подскажите, к кому можно обратиться за помощью в составлении регулярного выражения?
Нужно из темы письма брать номер заказа, шаблон примерно такой:
"слово слово слово слово 000-000000000-000"
То есть в начале идет произвольное кол-во слов без цифр на разных языках, дальше идут цифры, разделенные тире "-" ( 0 = цифра).
Можно не привязываться к шаблону самого номера заказа, а руководствоваться правилом: номером заказа считать то, что стоит после первого вхождения цифры, включая эту цифру.
Простите что неловко объясняю, терминологией владею плохо.
Нужно получать этот самый номер заказа и дальше с ним работать...
Re: Помощь в составлении регулярного выражения
Добавлено: 21.07.2020 17:51
Илья Федоров
Я правильно вас понял что вы не знаете структуру числового кода и он каждый раз разный, или все таки структура неизменна как на примере
Три числа тире 9 чисел - тире 3 числа?
Если структура постоянная то возможно будет не сложно.
Вот такие варианты могут сработать
\d{3}[-]\d{9}[-]\d{3}
или
\d{3}-\d{9}-\d{3}
Если количество символом между тире разное то попробовать вот такое более простое выражение
Попробуйте использовать сервис
https://regex101.com/
или
http://regexpres.narod.ru/calculator.html
Re: Помощь в составлении регулярного выражения
Добавлено: 21.07.2020 18:56
Игорь Архипов
в скобки не забудьте обернуть выражение чтобы была capture группа
https://regex101.com/r/XEuygl/1/ - вот песочница
синтаксис если что - под java
Re: Помощь в составлении регулярного выражения
Добавлено: 22.07.2020 12:00
Павел Поляков
спасибо большое!
А можно сделать такое выражение, которое будет работать по принципу:
номером заказа считать первую встреченную цифру в теме письме и все последующие символы?
Например
"Номер заказа 345-4353-adfsa-344" = "345-4353-adfsa-344"
"Order ID number 3-4254235asdfa" = "34254235asdfa"
"43534-dfds-345" = "43534-dfds-345"
У вас там стоит "попробовать вот такое более простое выражение", а дальше ничего,может, забыли вписать?:-)
Заранее спасибо за ответ!
Федоров Илья писал(а): ↑21.07.2020 17:51
Я правильно вас понял что вы не знаете структуру числового кода и он каждый раз разный, или все таки структура неизменна как на примере
Три числа тире 9 чисел - тире 3 числа?
Если структура постоянная то возможно будет не сложно.
Вот такие варианты могут сработать
\d{3}[-]\d{9}[-]\d{3}
или
\d{3}-\d{9}-\d{3}
Если количество символом между тире разное то попробовать вот такое более простое выражение
Попробуйте использовать сервис
https://regex101.com/
или
http://regexpres.narod.ru/calculator.html
Re: Помощь в составлении регулярного выражения
Добавлено: 22.07.2020 12:32
Илья Федоров
Более простое не помню уже что там было. Забудем.
Используйте сервисы по ссылкам экспериментируйте и все получится.