1

私は正規表現が初めてで、解決策を手伝ってくれます

たとえば、次のような文字列があります。

String str = "this is a hello world string and duplicate starts from here this is a hello world string";

正規表現を使用して次の条件を確認したかったのです。

if("this is a hello world string" has appeared more than once in String str){
    return false;
}
else{
    return true;
}

これはどのように達成できますか?

4

4 に答える 4

1

次の例のように正規表現を使用することもできます。

String str1 = "this is a hello world string";
String str2 = "this is a hello world string and duplicate starts from here this is a hello world string";
Pattern pattern = Pattern.compile(str1);
Matcher matcher = pattern.matcher(str2);

int count = 0;

while(matcher.find()){
    count++;
}

if(count > 0) {
     return true;
} else {
     return false;
}

それが役に立てば幸い。乾杯。

于 2013-11-13T10:51:12.990 に答える
0

それらが何であるかを指定せずに文字通り2つの重複した「もの」を見つけたい場合は、その正規表現を書くのに苦労するでしょう。

これは、2 つの「重複するもの」に一致します。

(.+)(?=.+)\1

「何か」を見つけて、それとそれ自体の別のインスタンスの間に「その他の何か」が存在できることを主張することに注意してください。

ええ、それは紛らわしいことではありません。

于 2013-11-15T08:53:44.927 に答える