私は を使用して^(^[a-z]?[a0-z9]+[.|-][a0-z9]+[a-z]+[.|-][a0-z9]+[a-z]?$)+$
います。この強制ユーザーは、式に 2 ハイフン (-) を入力します ....
しかし、正規表現では、彼の表現で最大2つのハイフンと最小1つのハイフンを許可できる必要があります....
私は を使用して^(^[a-z]?[a0-z9]+[.|-][a0-z9]+[a-z]+[.|-][a0-z9]+[a-z]?$)+$
います。この強制ユーザーは、式に 2 ハイフン (-) を入力します ....
しかし、正規表現では、彼の表現で最大2つのハイフンと最小1つのハイフンを許可できる必要があります....
これは単純な再実装です。
/^[^-]+(-[^-]+){1,2}$/
そしてテスト結果:
"123".match(/^[^-]+(-[^-]+){1,2}$/)
null
"123-123".match(/^[^-]+(-[^-]+){1,2}$/)
["123-123", "-123"]
"123-123-123".match(/^[^-]+(-[^-]+){1,2}$/)
["123-123-123", "-123"]
"123-123-123-123".match(/^[^-]+(-[^-]+){1,2}$/)
null
また、一方を他方からコピーするだけの場合は、自分で作成するようにしてください。
そうでない場合は、削除して再起動する必要があります。
この正規表現は機能するはずです...
/^[^-]*-[^-]*-[^-]*$/
これは、ハイフン (0 回以上) 以外のすべてをキャプチャし、次にハイフン、それ以外、さらに別のハイフン、その他すべてをキャプチャすることによって機能します。文字列全体にハイフンが含まれないようにするための開始マーカーと終了マーカーがあります。
このように崩れ...
/ # begin regex
^ # start of string
[^-]* # not hyphen ([^-]), zero or more times (*)
- # hyphen
[^-]* # not hyphen ([^-]), zero or more times (*)
- # hyphen
[^-]* # not hyphen ([^-]), zero or more times (*)
$ # end of string
/ # end regex