Попробуйте это регулярное выражение:
\b([a-z]+[0-9]+[a-z0-9]*|[0-9]+[a-z]+[a-z0-9]*)\b
или более компактный:
\b([a-z]+[0-9]+|[0-9]+[a-z]+)[a-z0-9]*\b
Это соответствует всем словам (обратите внимание на границы слов \b
), которые начинаются с одной или нескольких букв, за которыми следуют одна или несколько цифр, или наоборот, за которыми могут следовать одна или несколько букв или цифр. Таким образом, условие хотя бы одной буквы и хотя бы одной цифры всегда выполняется.