Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl.l:
STRING "[^"]*" IDENTIFIER [A-Za-z_][A-Za-z0-9_]*
+TECHNIQUE [Tt][Ee][Cc][Hh][Nn][Ii][Qq][Uu][Ee] +TECHNIQUE10 [Tt][Ee][Cc][Hh][Nn][Ii][Qq][Uu][Ee]10 +TECHNIQUE11 [Tt][Ee][Cc][Hh][Nn][Ii][Qq][Uu][Ee]11
I believe you can write (?i:technique) etc., which seems more readable. (I also wouldn't bother separating these into definitions if it's only used once, especially if shortening with the ignore-case flag.)