Мне нужен regex для соответствия тегам, который похож <A>
, <BB>
, <CCC>
, но нет <ABC>
, <aaa>
, <>
. таким образом, тег должен состоять из той же прописной буквы, повторенной. Я попробовал <[A-Z]+>
, но это не работает. конечно, я могу записать что-то как <(A+|B+|C+|...)>
и так далее, но интересно, существует ли более изящное решение.
Вы можете использовать что-то вроде этого (см. это на rubular.com):
<([A-Z])\1*>
Здесь используется группа захвата и обратная ссылка. В основном:
(pattern)
для "захвата" совпадения\n
в вашем шаблоне, где n
- номер группы, чтобы "сослаться" на то, что эта группа совпалаТак что в этом случае:
([A-Z])
, заглавной букве, следующей сразу за <
\1*
, т.е. e. ноль или более этой же букве