Имя: Пароль:
1C
 
помогите составить регулярное выражение
0 vde69
 
01.02.20
15:18
суть задачи

есть строка "ав01" мне надо сравнить ВСЕ символы этой строки с некой моей строкой, составляю регулярку

строка для сравнения бв11, в моей логике это должны быть одинаковые строки, хочу сделать ^(а|б)(в|г)(0|1)(0|1)

думаю понятно чего мне надо?

то есть в моей логике строки равны если каждый символ исходной строки равен одному из представленных вариантов регулярки, при этом мне надо строгое условие, что символы сравниваются строго по порядку, то есть для "а" проверяется только (а|б) (ну тут все понятно домик это гарантирует) а вот последующие символы как будут проверятся? строго по порядку круглых скобок или нет?
1 izekia
 
01.02.20
15:37
подробнее плиз, а то гдядя на регулярку так и не понял, мне кажется с твоим опытом ты сам объясняя поймешь как нужно)
2 vde69
 
01.02.20
15:47
^(а|б)(в|г)(0|1)(0|1) - не работает так как надо мне

а мне надо, что-бы проверка (исходная строка "ав01") шла так
1. "а" из исходной строки сравнивалось с (а|б) из шаблона // это сейчас работает
2. потом "в" из исходной строки сравнивалось с (в|г) из шаблона // это и все, что ниже сейчас не работает
3. потом "0" из исходной строки сравнивалось с (0|1) из шаблона
4. потом "1" из исходной строки сравнивалось с (0|1) из шаблона

и нужно, что-бы все четыре пункта возвращали истина, тогда и все регулярное выражение должно возвращать истину
3 izekia
 
01.02.20
16:03
(2) слушай, я хз, но у меня все по твоей логике работает с ^(а|б)(в|г)(0|1)(0|1)
примеры кинь с которыми это не работает?
4 vde69
 
01.02.20
16:05
(3) "а0в1"
5 vde69
 
01.02.20
16:06
(4) "а0в1" - должно вернуть ложь
6 izekia
 
01.02.20
16:07
(4) ну да, возвращает ложь
чувак, ты же должен уже в час ночи просыпаясь понимать как это работает)
7 izekia
 
01.02.20
16:07
8 izekia
 
01.02.20
16:08
у тебя правильно построенный шаблон
9 vde69
 
01.02.20
16:09
(6) у меня уже песок сыпется в 2 часа ночи :)

ладно пойду пробовать на биг дата... сложность в том, что размер строки достаточно большой и глазами понять что все верно сработало тяжело
10 izekia
 
01.02.20
18:06
(9) отпишись завтра в чем была проблема?
11 vde69
 
01.02.20
22:22
(10) проблема оказалась в кривом алгоритме формирования первичной строки, там где-то в середине несколько симполов съедались