我有一個正則表達式蟒蛇正則表達式:不允許一個特定的字符重複
^[a-z][a-z0-9\-]{6,10}[a-z0-9]$
相匹配的規則如下:在長度
- 8-12個字符
- 第一個字符是小寫字母
- 最後一個字符小寫字母或數字
- 內部字符可以包含連字符
它重新使用了很多的模塊中,總是一起其他一些規則和正則表達式
,而寫了一些單元測試,我發現它的結合總是用另一個特定的規則。
- 連字符可以不重複
我不能環繞該規則融入這一個我的頭。我已經嘗試了幾十種用lookbeheads和lookahead的方法,但是在隔離到特定字符並保持長度要求方面沒有運氣。
你可以添加其他的測試,看看它不匹配「 - 」,如: ',而不是用「 - 」 somestring' –
不要試圖在正則表達式中放置太多的邏輯。只需定義一個應用第一個正則表達式的函數,然後檢查雙連字符。 –
這就是目前工作的方式。不幸的是,有人不可避免地調用這個正則表達式而不是組合函數,並且壞數據會通過。我必須做十幾次清理。 –