Java 如何使用正则表达式查找字符串是否至少有一个字符?
示例:Java 如何使用正则表达式查找字符串是否至少有一个字符?,java,regex,Java,Regex,示例: “1名称”:应该说它有字符 “10000”:好的 “na123me”:应该说它有字符 “NA123000”:应该说它有字符 通过这一行,您可以检查字符串是否只包含正则表达式给定的字符(在本例中为a、b、c、…z和a、b、c、…z): 上述内容应与大写和小写字母匹配。如果正则表达式返回匹配项,则字符串中有一个字母 结果 1名 我 北美123000 i54 不包含字母的语句与表达式不匹配 public class HasCharacters { public static void
通过这一行,您可以检查字符串是否只包含正则表达式给定的字符(在本例中为a、b、c、…z和a、b、c、…z): 上述内容应与大写和小写字母匹配。如果正则表达式返回匹配项,则字符串中有一个字母 结果 1名 我 北美123000 i54 不包含字母的语句与表达式不匹配
public class HasCharacters {
public static void main( String [] args ){
if( args[0].matches(".*[a-zA-Z]+.*")){
System.out.println( "Has characters ");
} else {
System.out.println("Ok");
}
}
}
试验
所需的正则表达式是
[a-zA-Z]
,但需要使用find()
方法
此页面将允许您根据输入测试正则表达式
字母表是什么意思?只有字母字符/[a-zA-Z]*/请澄清您的问题。“查找字符串是否有字母”是什么意思?您想知道字符串是否有字母字符吗?为了澄清,您想询问字符串是否至少有一个字母字符?根据您的更新,像%、#、!、这样的字符如何!,一些希伯来语/汉语/日语等?你想只限制数字吗?你想要一个有效且可解析的数字吗?正则表达式将匹配任何至少有一个字母字符的字符串。我认为它将匹配任何正好有一个字母字符的字符串,而不仅仅是至少有一个字母字符的字符串。它不需要星号吗?这只测试字符串中是否有一个带星号的字符,它也将匹配空字符串。这不起作用。Java正则表达式默认由
^
和$
限定。用1name
自己测试。如果匹配,字符串中只有字母(A-Z)。现在应该修复。谢谢你让我知道。以“^.*”开头或以“.*$”结尾的正则表达式写得很糟糕。为什么不直接使用正则表达式“[a-zA-Z]”?@David:与PHP、Perl和其他语言不同,Java正则表达式隐式地由^
和$
@BalusC限定,不正确!matches()
方法使用整个字符串,但是find()
方法不使用。这不起作用。Java正则表达式默认由^
和$
限定。用1name
自己测试。第一个示例失败
public static void main(String[] args)
{
Pattern p = Pattern.compile("^([^a-zA-Z]*([a-zA-Z]+)[^a-zA-Z]*)+$");
Matcher m = p.matcher("1 name");
Matcher m1 = p.matcher("10,000");
Matcher m2 = p.matcher("na123me");
Matcher m3 = p.matcher("na 123, 000");
Matcher m4 = p.matcher("13bbbb13jdfgjd43534 fkgdfkgjk34 rktekjg i54 ");
if (m.matches())
System.out.println(m.group(1));
if (m1.matches())
System.out.println(m1.group(1));
if(m2.matches())
System.out.println(m2.group(1));
if(m3.matches())
System.out.println(m3.group(1));
if (m4.matches())
System.out.println(m4.group(1));
}
public class HasCharacters {
public static void main( String [] args ){
if( args[0].matches(".*[a-zA-Z]+.*")){
System.out.println( "Has characters ");
} else {
System.out.println("Ok");
}
}
}
$java HasCharacters "1 name"
Has characters
$java HasCharacters "10,000"
Ok
$java HasCharacters "na123me"
Has characters
$java HasCharacters "na 123, 000"
Has characters