I have a regexp that finds and highlights operators in C++ but I can't for the life of me work out how to match operator[] using regexp. The usual trick of escaping the characters doesn't seem to work, it merely ends matching.
(font-lock-add-keywords
nil '(
;; operators
("[~^&\|!<>:=,.\\+*/%-]" . font-lock-keyword-face) ))
My second (incomplete) attempt using regexp-builder and moving escaped symbols to the end of the match got me the opening brace:
("[~^=<>&/.,\[\|\*\+\-]" . font-lock-keyword-face)
but adding \] or moving \[ kills any matching. What am I missing?
To match a literal
], put it right after the opening[:Since an empty character choice wouldn't make any sense in a regexp, this combination is given the alternative interpretation of matching an actual
].