-ハイフン( )とアンダースコア( )を含む英数字の文字列が必要_です。しかし-、_一人で来ることはできません。またはを含むいくつかの英数字テキストが-必要_です。
abc- allowed
abc_abc-xyz allowed
abc896 allowed
89abc allowed
abc_ not allowed
abc- not allowed
- not allowed
_not allowed
-- not allowed
________ --- not allowed
これ:
^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$
式は上記のすべてのことを行いますが、アンダースコアも-追加したいと思い_ます。そして-、_最初または最後に来ることはできません。