文字とハイフンのみを許可する正規表現を作成する必要がありますが、ハイフンが必要です。
私は試した:
^[a-z]+[a-z\-]+[a-z]+$
(ハイフンなしの一致は合格)([A-Za-z\-]+)
(ハイフンなしの一致も通過します)[a-zA-Z][\-]+
(動作しませんでした)
誰かが私にそれを書くことができますか?
前もって感謝します。
文字とハイフンのみを許可する正規表現を作成する必要がありますが、ハイフンが必要です。
私は試した:
^[a-z]+[a-z\-]+[a-z]+$
(ハイフンなしの一致は合格)([A-Za-z\-]+)
(ハイフンなしの一致も通過します)[a-zA-Z][\-]+
(動作しませんでした)誰かが私にそれを書くことができますか?
前もって感謝します。
他の回答はどちらもハイフンを必要としません。試す[a-zA-Z-]*[-][a-zA-Z-]*
先読みが必要です:
^(?=.*-)[a-zA-Z-]+$
その小さな表現(?=.*-)
は「先読み」です。これは、.*-
どこか先に表示される非消費的なアサーションです。つまり、「入力にはハイフンが必要です」という意味です。
また、最初または最後に置く場合、ハイフンはエスケープする必要のないリテラルハイフンです。それ以外の場合、ハイフンは範囲を示します。
あなたの質問にすべての要件が記載されているかどうかはわかりません。あなたが言ったことすべてから離れて、このパターンは文字とハイフンを許可し、少なくとも1つのハイフンが必要です。
[a-zA-Z-]*-[a-zA-Z-]*
これにより、文字列「-」は大丈夫ですか?
あなたはどの言語を言っていなかったので、ここにJavascriptがあります:
Code-> "te-st".match(/[A-Za-z-]+/)
Result -> ["te-st"]