Try this regex:
\b([az]+[0-9]+[a-z0-9]*|[0-9]+[az]+[a-z0-9]*)\b
Or more compact:
\b([az]+[0-9]+|[0-9]+[az]+)[a-z0-9]*\b
This matches all words (pay attention to the boundaries of the words \b ) that start with one or more letters, followed by one or more numbers or vice versa, which can be followed by one or more letters or numbers. Thus, the condition of at least one letter and at least one digit is always satisfied.
Gumbo source share