少なくとも 1 つの数字と 1 つのアルファベットが必要な正規表現を作成したいと考えています。
onlyText
計算しません。でもonlyText123
マッチ。
どうぞ
^(?=.*[a-zA-Z])(?=.*[\d]).*$
重要なのは、ルックアラウンドと呼ばれる手法を使用することです
このようなものを試すことができます
String p= "\\w*([a-zA-Z]\\d|\\d[a-zA-Z])\\w*";
System.out.println("1a".matches(p));//true
System.out.println("a1".matches(p));//true
System.out.println("1".matches(p));//false
System.out.println("a".matches(p));//false
([a-zA-Z]\\d|\\d[a-zA-Z])
== 文字の次に数字 OR 数字の次に文字
前後は文字と数字にすることができます (必須ではありません) ( \\w
)