Я хотел бы создать q регулярное выражение, которое соответствует шаблонам повторяющихся одиночных символов, за которыми следуют друг друга. Например, три раза тот же символ «A», за которым следует два раза другой символ «B». Неважно, повторяется ли второй символ более двух раз. Например, он должен соответствовать строке wuzDDDFFFxjiКак исключить один символ одной группы из второй группы?
Full match 3-8 `DDDFF`
Group 1. 3-4 `D`
Group 2. 6-7 `F`
я пришел с следующим регулярным выражением, но есть одно ограничения.
(.)\1{2}(.)\2{1}
Это почти работает, но это не исключает характер первой группы из подкрепляются во второй группе. Струнные qwuiuQQQQQsas будет сравниваться с:
Full match 5-10 `QQQQQ`
Group 1. 5-6 `Q`
Group 2. 8-9 `Q`
Это не соответствует тому, что я хочу, но я не мог найти правильный синтаксис, чтобы исключить конкретную группу из подкрепляются в другой. Моя самая близкая попытка, похоже, не работает
(.)\1{2}((?:\1))\2{1}
1st Capturing Group (.)
. matches any character (except for line terminators)
\1{2} matches the same text as most recently matched by the 1st capturing group
{2} Quantifier — Matches exactly 2 times
2nd Capturing Group ((?:\1))
Non-capturing group (?:\1)
\1 matches the same text as most recently matched by the 1st capturing group
\2{1} matches the same text as most recently matched by the 2nd capturing group
{1} Quantifier — Matches exactly one time (meaningless quantifier)
Любой намек здесь? Спасибо огромное!
Что такое регулярное выражение вкуса/язык программирования/инструмент? Почему не работает последний шаблон? –
Попробуйте ['(.) \ 1 {2} ((?! \ 1).) \ 2'] (https://regex101.com/r/rjRNik/1), если вы хотите избежать соответствия чему-либо в' qwuiuQQQQsas ' –