2

私はJavaが初めてで、正規表現に問題があります。/* */文字列内の翼付きコメント ( ) と行末コメント ( )を見つけようとしている//ので、それらを分割して配列に入れることができます。

これは私が現在持っている正規表現です:

stringofstuff.split("[!//.*?\n!]");

それは機能しますが、私の問題は、文字「。」にも一致することです。そのため、文字列に のような数値が含まれている場合90.55、配列は私が望むものではないように見え[90, 55]ます。^\\.閉じ角括弧の後に正規表現の最後に追加しようとしました:

stringofstuff.split("[!//.*?\n!]^\\.");

一致しないことには成功しますが.、どちらのタイプのコメントも認識しなくなります! どこが間違っているのかわからない、何か提案はありますか?

4

1 に答える 1

0

これを行うには、正規表現パッケージのパターンとマッチャーを使用できます。たとえば、数字を見つけるには:

Pattern p = Pattern.compile("\\d");
Matcher m = p.matcher(string);
if(m.find())
{
     System.out.println(m.start()+" "+m.end()+" "+m.group);
}

同様に、分離したい文字列のさまざまな組み合わせを作成でき、それらは m.group() に格納されます。

正規表現パッケージのさまざまな組み合わせと詳細については、次を参照してください。

http://www.regular-expressions.info/java.html

于 2012-11-30T16:21:42.353 に答える