Я попытался "[A-Z][A-Z0-9_]*(_[A-Z0-9]+)+"
, чтобы найти идентификаторы, состоящие из '_' -компонентных компонентов alnum, начинающихся с буквы и не содержащих строчных букв, например, "ID_RED", "NO_ENTRY_PERMITTED", "THIS_IS4YOU_ALL". Я не хочу ловить слова "THINKING__NO" или "4YOU_AND_ME".
Кажется, ошибка во второй части "(_[A-Z0-9]+)+"
; по крайней мере, он не жадный, как ожидалось, но дает _RED, _ENTRY, _IS4YOU