1
我有第一個包含數字或字母或連字符的字符串。如果第一個字符是數字,那麼第二個字符應該是字符,其餘的應該是數字,字母和連字符的任何出現。第一個字符可能是字符串第二個字符應該是數字,其餘的應該是字母數字
我試着用:
([A-Za-z-]{1})(?![A-Za-z-]{1})([A-Za-z-]{61})
字符串是有效的:在字符串
- 如果只有字母和字符串中的一個字符。
- 如果只有字符串中的連字符和字符串中的一個字符。
- 如果第一個字符是數字,那麼第二個字符應該是字母或連字符,其餘的可以是字母,數字或連字符。
- 不允許特殊字符或製表符或空格連字符是允許的。
- 字符串的最大長度爲63個字符。
例如:
1 : invalid
11 : invalid
;1 : invalid
1; : invalid
a; : invalid
;a : invalid
- : valid
a : valid
aa : valid
a1 : valid
1a : valid
1- : valid
-1 : valid
a- : valid
-a : valid
11testisgoingon : invalid
;1testingisgoingon : invalid
1;testingisgoingon : invalid
a;testingisgoingon : invalid
;atestingisgoingon : invalid
-testingisgoingon : valid
atestingisgoingon : valid
aatestingisgoingon : valid
a1testingisgoingon : valid
1atestingisgoingon : valid
1-testingisgoingon : valid
-1testingisgoingon : valid
a-testingisgoingon : valid
-atestingisgoingon : valid
([A-Za-z-])(?![A-Za-z-])
但這個工作做好了前兩個字符。但是如果有兩個以上的字符,那麼這是不正確的。
這氣味像功課。你有嘗試過一個正則表達式嗎? –
是的我開始於:([A-Za-z - ])(?![A-Za-z-])。這可以達到2個字符,意味着達到了一半的條件。如果我有超過2個字符的字符串,它不會給出所需的結果。我唯一的問題是如何擴展這個正則表達式 – amit
根據您提供的數據,也許這[正則表達式](https://regex101.com/r/2nYe49/1)'^(?=。{0,63} $)( ?:[a-zA-za-z - ] [A-Za-z \ d - ]?\ d [A-Za-z - ])[A-Za-z - ] * $'可以幫助你 –