私は次の条件で正規表現に取り組んでいます:
私は次のような正規表現を取得できます: ^[a-zA-Z0-9](?!.*--)[a-zA-Z0-9-]{0,61}[A-Za-z0-9]$
ただし、長さの制約に失敗するだけでなく、「a-」のようなパターンも許可されます。どうすれば条件を満たすことができますか?
私はあなたの要件を次のように言います:
^(?=.{1,63}$)(?!.*--)[a-zA-Z]([a-zA-Z0-9\-]*[a-zA-Z0-9])?$
上記の正規表現の各部分の機能について簡単に説明します。
^ from the start of the match
(?=.{1,63}$) assert that the string is between 1 63 characters
(?!.*--) assert that two hyphens do not appear together anywhere
[a-zA-Z] first character is a letter (mandatory in all matches)
([a-zA-Z0-9\-]*[a-zA-Z0-9])?
最後の部分は、英数字であるがダッシュではなく、おそらく英数字またはダッシュが前にある最後の文字と一致することを示しています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加