40

I want such a validation that My String must be contains at least one alphabet.

I am using the following:

String s = "111a11";
boolean flag = s.matches("%[a-zA-Z]%");

flag gives me false even though a is in my string s

Srinivas
  • 1,780
  • 1
  • 14
  • 27
Jignesh Ansodariya
  • 12,583
  • 24
  • 81
  • 113
  • 8
    Don't use %. That is for SQL LIKE, not regexp. Use `.*` instead So just `s.matches(".*[a-zA-Z].*");` – ppeterka Jan 11 '13 at 12:27

3 Answers3

101

You can use .*[a-zA-Z]+.* with String.matches() method.

boolean atleastOneAlpha = s.matches(".*[a-zA-Z]+.*");
Bhesh Gurung
  • 50,430
  • 22
  • 93
  • 142
24

The regular expression you want is [a-zA-Z], but you need to use the find() method.

This page will let you test regular expressions against input.

Regular Expression Test Page

and here you have a Java Regular Expressions tutorial.

Java Regular Expressions tutorial

Kevin Panko
  • 8,356
  • 19
  • 50
  • 61
Luciano
  • 598
  • 9
  • 21
1

In kotlin

val inputString = "Hello123"
val containsAlphabets = inputString.matches(Regex(".*[a-zA-Z].*"))
if (containsAlphabets) {
println("The input string contains alphabetic characters.")
} else {
println("The input string does not contain alphabetic characters.")
}