- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:正規表現 英数字を1つ以上含む文字列)
正規表現 英数字を1つ以上含む文字列
このQ&Aのポイント
- 半角英数字「0~9」「a~z」「A~Z」と、ハイフン「-」からなる文字列の正規表現での表し方が知りたいです。
- ASP.NET(VB)での入力チェックに使用できる正規表現は、半角英数字とハイフンからなる文字列です。
- 特定の条件を満たす文字列を検索や置換するために、ASP.NETで正規表現を使用する方法を知りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
(?!^[^0-9]*$)(?!^[^a-z]*$)(?!^[^A-Z]*$)^([a-zA-Z0-9-]+)$ でどう?試してないけど…。 でも、無理して1つの正規表現で表さなくても、 「0~9」が含まれているかどうか、「a~z」が・・・ と一つ一つチェックしても良いのでは? > そもそも「!」の意味が分かりません。否定でしょうか?? (?!regexp) で否定先読みを意味します。 http://www.kt.rim.or.jp/~kbk/regex/regex.html#NEGATIVELOOKAHEAD なお^は括弧内でも行頭の意味です。 (ANo.1は[^abc]との混同?)
その他の回答 (2)
noname#39970
回答No.3
以下のテキストで検証 ABCDEFG abz3 -3aZGcE xa_DC agle40g 3920710 Da3-XcgE 2gE No1のパターンでは条件を満たさなかった("xa_DC"以外ヒット) No2のパターンでは希望通りのヒットをする模様
質問者
お礼
アドバイス&検証ありがとうございました。
- izayoimizuki
- ベストアンサー率41% (84/202)
回答No.1
^[a-zA-Z0-9\-]*[a-zA-Z0-9]{1,}[a-zA-Z0-9\-]*$ではだめですかね? ^が括弧内で否定の意味を持ちます。 括弧の外であれば^は行頭の意味になります。 !は・・・私の持つ知識では単なる文字だと思うのですが・・・ 英字の中に英字記号が含まれているという解釈だと思います。
質問者
お礼
アドバイスありがとうございました。
お礼
回答ありがとうございました。 リンク先も大変参考になりました。