я хочу, чтобы соответствовать слово, которое должно иметь гласные и цифры
(?<!\S)\S*(?:[aeiou]\S*\d|\d\S*[aeiou])\S*(?!\S)
Эта часть в своем регулярном выражении,
(?<=\d)(?!\S)
будет искать чтобы присутствовать, который не должен сопровождаться символом без пробела. В этом test123
, поскольку 3, присутствующий в последнем, удовлетворяет этому условию, где 3 не сопровождается непространственным символом. Поэтому ваше регулярное выражение соответствует test123
и не соответствует 123test
, потому что все цифры, присутствующие на этом входе, сопровождаются символом без пробела. А также ваше регулярное выражение утверждает, что перед цифрой должна существовать гласная. Это также является причиной.
done ........... –