检查java字符串中的^字符

Mar*_*ner 0 java regex

我想检查字符串以查看它是否包含^符号,以及它是否向用户显示消息.

谢谢

Pattern p = Pattern.compile("[a-z0-9 ]", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher("StringGoesHere");
boolean b = m.find();

if (b){
   System.out.println("bad");
} else {
   System.out.println("fine");
}
Run Code Online (Sandbox Code Playgroud)

ami*_*mit 15

一个正则表达式可能是一个矫枉过正,只是使用 String.contains()

如果您渴望使用正则表达式,请使用"\\^":\\将提供单个\,这打破了^char 的特殊含义.

  • 我想你会发现String.indexOf(char)在搜索单个字符时比String.contains(CharSequence)快得多. (2认同)

The*_*ann 10

为什么不呢

String str = "StringGoesHere";
if( str.indexOf('^') != -1 )
{
    System.out.println( "bad" );
}
else
{
    System.out.println("fine");
}
Run Code Online (Sandbox Code Playgroud)