2016-05-15 71 views
1

如何根據以下規則創建適當的正則表達式規則?單詞表的特殊正則表達式規則

  • 必須包含至少一個數字。
  • 必須包含至少一個字母字符a-z
  • 連續不超過4個相同的數字或字母。

任何想法?謝謝!

+0

「連續數字或連續字母不超過4個連續數字或字母不超過4個「 。 - 我認爲這可以歸結爲:連續不超過4個相同的數字或字母。 – MaxG

回答

2

使用lookaheadsback referencing

^(?=.*[a-z])(?=.*\d)(?!.*(.)\1{3}).*$ 

Regex101

編輯:如果您不希望匹配有空格字符的字符串,你可以這樣做:

^(?=.*[a-z])(?=.*\d)(?!.*(.)\1{3})\S*$ // replaced the . at the end with \S 
+0

你激勵我終於學會了前瞻和反向引導:) – Gewure

+1

@Gewure很高興能有所幫助。一般來說,你是在正確學習正則表達式的地方。 SO的正則表達式問題和資源是永無止境的。 – timolawl

+0

@timolawl幹得好,但它不處理像這樣的表達式:「qave4444」。任何想法爲什麼? (我不知道前瞻和後面的引用也)。 – MaxG