2016-09-06 2 views
0

正規表現を使用している文字列に重複する文字があるかどうかを検出しようとしています。私がパターンをテストし、オンライン正規表現テスターで入力すると、find()は真でなければならないと言います。しかし私のプログラムではうまくいかない。 私は以下の情報を使用しています:regex to match a word with unique (non-repeating) characters正規表現find()は真ではありません。文字列の重複文字を検出する

何が起こっているか正規表現をJavaで正しく使用していますか?

import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

public class Test { 
    public static void main(String[] args) { 
     Pattern pat = Pattern.compile("(.).*\1"); 
     String s = "1112"; 
     Matcher m = pat.matcher(s); 
     if (m.find()) System.out.println("Matches"); 
     else System.out.println("No Match"); 
    } 
} 

Regex tester screenshot

答えて

1

後方参照は

Pattern pattern = Pattern.compile("(.).*\\1"); 
+0

OK、感謝をエスケープする必要があります。正規表現を初めて使うそれは今働く。 –

関連する問題