6

使うことができます

var regex = /[$&+,:;=?@#|]/;

if(elem.match(regex)) { // do something 
}

Javascriptの文字列に特殊文字があるかどうかを確認します。

Javaで同様の正規表現を使用するにはどうすればよいですか?

私が試してみました:

str.match("\\="); // return false

例えば:

String str = "123=456";

strで「=」を検出しようとしました。

それはうまくいきませんでした。私は何が間違っているのですか?

4

4 に答える 4

16

これを試して。

Pattern regex = Pattern.compile("[$&+,:;=?@#|]");
Matcher matcher = regex.matcher("123=456");
if (matcher.find()){
    // Do something
}

編集:matches()すべての文字列をチェックし、文字列find()の任意の部分でそれを見つけます。

リンク:http://docs.oracle.com/javase/tutorial/essential/regex/index.html

于 2012-09-25T15:42:18.403 に答える
2

String.matches()を使用します。サポートされている構文については、Javadoc を参照してください。

于 2012-09-25T15:40:43.957 に答える
0

使用する

String.matches(String regex);
于 2012-09-25T15:40:46.060 に答える
-3

サンプルコードは次のとおりです。

import java.lang.Scanner;
/*setup everything here, you just need that import*/
Scanner input = new Scanner(System.in);
//ask for input
String str = input.next();
if(str.contains(/*char1*/) || str.contains(/*char2*/) || /*continue the pattern, 1 for every character*/)
{
    //event if it contains one
}
else
{
    //event if it does not contain any
}

別の方法:

import java.lang.Scanner;
/*put the program parts here*/
Scanner input = new Scanner(System.in);
String str = input.next();
List<char> chars = Arrays.asList(/*put chars here, seperated with commas*/);
for(int x = 0; x < chars.size();x++)
{
    if(str.contains(chars[x]))
    {
        //event if it contains one
    }
    else
    {
        //event if it does not contain one
    }
}
//resume program

すべてが正しくインポートされていれば、これらのコード スニペットは機能します。

于 2012-09-25T15:41:18.067 に答える