次のような文字列を一致させる必要があります。
GQG6VJ6K
、TYTU-TIDM-56
、4-5-P-Z
など
ハイフン-
はオプションですが、少なくとも 1 つの英数字が必要です。
これまでのところ、私が思いついた最善の試みは[A-Z0-9-]+
、単一のハイフンに誤って一致することです。
私も試し(?[-]*)(?[A-Z0-9]+)
ましたが、うまくいきません(私は正規表現初心者です)。理由のボーナスポイント。
解決策は何ですか?
編集:
@ archeong87が最終的な解決策に導きました:^[A-Z0-9]+(-{0,1}[A-Z0-9]+)*$