Что такое шаблон Regex для 3 последовательных увеличений цифр или уменьшения

Мне нужен regex шаблон для соответствия последовательности 3 последовательных цифр в строке, которые последовательно увеличиваются или уменьшаются.

Например:

Эти строки должны соответствовать (xxx123xxx, 789xxxxxx, xxxxxx987, xxxxxx432)

Эти строки не должны соответствовать (xxxxxx454, 333xxxxxx, xxx429xxx)

5
задан user106776 2 February 2010 в 15:23
поделиться

3 ответа

Нет другого пути, чем их список:

(012|123|234|345|456|567|678|789|987|876|765|654|543|432|321|210)
8
ответ дан 18 December 2019 в 14:46
поделиться

Это можно сделать просто, но только с определением действительных наборов последовательных цифр

(?:012|210|123|321|234|432|345|543|456|654|567|765|678|876|789|987)

.
3
ответ дан 18 December 2019 в 14:46
поделиться

Это будет очень сложное регулярное выражение. На проекте, где мне пришлось сделать что-то очень похожее, я оказался подходящим цифрами групп, а затем отключить фактическую проверку цифр к делегату (я делал это в C ++; сделал что-то подобное на другом проекте в Java в так же).

Если вообще возможно, это то, что я бы порекомендовал сделать здесь. Regex, который мог сделать это, все сам по себе было бы очень сложно прочитать или поддерживать.

2
ответ дан 18 December 2019 в 14:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: