Помощь в составлении регулярного выражения

Аватара пользователя
Павел Поляков
Сообщения: 17
Зарегистрирован: 07.04.2019 17:32

Помощь в составлении регулярного выражения

21.07.2020 14:00

Добрый день, коллеги!

Подскажите, к кому можно обратиться за помощью в составлении регулярного выражения?
Нужно из темы письма брать номер заказа, шаблон примерно такой:

"слово слово слово слово 000-000000000-000"

То есть в начале идет произвольное кол-во слов без цифр на разных языках, дальше идут цифры, разделенные тире "-" ( 0 = цифра).
Можно не привязываться к шаблону самого номера заказа, а руководствоваться правилом: номером заказа считать то, что стоит после первого вхождения цифры, включая эту цифру.
Простите что неловко объясняю, терминологией владею плохо.

Нужно получать этот самый номер заказа и дальше с ним работать...

Аватара пользователя
Илья Федоров
Сообщения: 492
Зарегистрирован: 21.01.2018 18:09

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

Аватара пользователя
Игорь Архипов
Сообщения: 80
Зарегистрирован: 20.11.2017 13:22

Re: Помощь в составлении регулярного выражения

21.07.2020 18:56

в скобки не забудьте обернуть выражение чтобы была capture группа

https://regex101.com/r/XEuygl/1/ - вот песочница

синтаксис если что - под java

Аватара пользователя
Павел Поляков
Сообщения: 17
Зарегистрирован: 07.04.2019 17:32

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

Аватара пользователя
Илья Федоров
Сообщения: 492
Зарегистрирован: 21.01.2018 18:09

Re: Помощь в составлении регулярного выражения

22.07.2020 12:32

Более простое не помню уже что там было. Забудем.
Используйте сервисы по ссылкам экспериментируйте и все получится.

Ответить