Your lookaheads only test from the current match position. Since you don't match anything, this means from the start. Since bana12
doesn't start with two digits, d{2}
fails. Its as simple as that ;)
Also, note that having d{2}
means your digits has to be adjacent. Is that your intention?
To simply require 2 digits, that doesn't need to be adjacent, try
/(?=.{5,})(?=D*dD*d)/
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…