reg表达式匹配8个拉丁字符和数字

时间:2016-01-24 14:47:01

标签: regex unicode

我希望有一个正则表达式匹配 8个字符完全 ,其中包含 拉丁字母和数字,但不仅仅是数字。我尝试过以下方法:

^\d*[a-zA-Z][a-zA-Z\d]{8}$/

但它不起作用。如何更改正则表达式以将字符数限制为 8

1 个答案:

答案 0 :(得分:1)

^(?=.*\D)[a-zA-Z\d]{8}$

这个想法是:

  • ^$ - 从头到尾
  • (?=.*\D) - 至少有一位非数字字符(使用positive lookahead
  • [a-zA-Z\d]{8} - 8个字母或数字

正向前瞻符合零个字符。它们基本上用于确保满足以下字符的条件。 .*\D表示在任意数量的字符(.*)之后的,有一个非数字字符(\D