A lex egy program, amely segítségével lexikális szabályokból lexikális elemző programkódot lehet generálni.[1][2] A lexet gyakran, de nem feltétlenül, a yacc parserrel kombinálva használják. A legtöbb Unix rendszer szabványos lexikális elemzője a lex.
A lex egy szövegfájlból olvassa be a lexikális szabályokat, s kimenetként C nyelvű kódot állít elő.
Több kereskedelmi és nyílt forráskódú implementációja is létezik. Az egyik népszerű nyílt forráskódú lex a flex (fast lexical analyzer).