2017-07-20 8 views
-2

下面的中間是正則表達式:正則表達式中的第一個字符不應該是破折號( - ),但破折號可以在字符串

/(?!(.)\1+$)(?!.*(.)\2{2})(?!.*(|'|-)\3{1})(?=\S*(\s\S*){0,4}$)(?=[a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ .]*(['-][a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ .]*){0,2}$)(?=(.*[a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ.]){2}.*$)^[a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ '-]{2,25}$/, 

我試圖讓一個正則表達式中的第一個字符應不是破折號( - ),但短劃線( - )可以在字符串中,並且不應該有連續的破折號。

+0

你的正則表達式是錯誤的。請提供所有要求。我理解你的[正則表達式就像這樣](https://regex101.com/r/zrfbiH/1)。你是否需要[像這樣工作](https://regex101.com/r/zrfbiH/2)? –

+0

@WiktorStribiżew正則表達式應該接受英文,西里爾文和符號: - (短劃線)像Alberto Santos-Dumont –

+0

@WiktorStribiżew但它不應該接受-Alberto或 - -Alberto,但應該接受Alberto-Santos –

回答

0

這樣的事情如何:/^[^\-]((?![\-]{2,}).)+$/

相關問題