2016-01-24 58 views
0

我想有一個正則表達式匹配8個字符正是只有拉丁文字母和數字,但不是唯一的數字。我曾嘗試以下方法:reg表達式匹配8拉丁字符和數字準確

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

但它不起作用。如何更改正則表達式以將字符數限制爲?

回答

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

的理念是:

  • ^$ - 從開始直到結束
  • (?=.*\D) - 存在至少一個非數字字符(使用positive lookahead
  • [a-zA-Z\d]{8} - 8個字母或數字

積極lookaheads匹配零字符。它們基本上用於確保滿足以下字符的條件。 .*\D表示後有任意數量的字符(.*),有一個非數字字符(\D

+0

你能解釋一下(?=。* \ D)是什麼意思? – tsiro

+0

字符是**拉丁**,也可能是unicode字符。 – 2016-01-24 14:50:55

+0

@tsiro,已更新。 – ndn

相關問題