Благодаря помощи с моим предыдущим домашним заданием Regex to match tags like <A>, <BB>, <CCC> but not <ABC>
, но теперь у меня есть еще один домашний вопрос.
Мне нужно сопоставить теги, такие как <LOL>
, <LOLOLOL>
(3 заглавные буквы, с повторяемыми двумя последними буквами), но не <lol>
(необходимо вводить заглавные буквы).
Используя технику из предыдущего домашнего задания, я попробовал <[A-Z]([A-Z][A-Z])\1*>
. Это работает, за исключением того, что есть дополнительный улов: повторяющаяся часть может быть в смешанном регистре!
Так что мне нужно также сопоставить <LOLolol>
, <LOLOLOlol>
, потому что это 3 заглавные буквы с повторяемыми двумя последними буквами в смешанном регистре. Я знаю, что вы можете сделать шаблон нечувствительным к регистру с помощью /i
, и это позволит мне сопоставить <LOLolol>
с имеющимся у меня регулярным выражением, но теперь оно также будет соответствовать <lololol>
, поскольку проверка для первых 3 букв также нечувствительны к регистру.
Так как мне это сделать? Как я могу проверить первые 3 буквы регистр, а затем остальные буквы без учета регистра? Это возможно с регулярным выражением?