スラッシュ (/) 文字が続かない場合にのみ文字列と一致する正規表現が必要で、文字列全体と一致させたい。
たとえば、以下の文字列は一致する必要があります
/Raj/details/002-542545-1145457
しかし、これではありません
/Raj/details/002-542545-1145457/show
this answerで指定されているように、これを達成するためにNegative Lookaheadを使用しようとしました。
私のコードはこのようなものです。
pattern = Pattern.compile("/.*/details/(?!.*/)");
matcher = pattern.matcher(text);
if(matcher.matches()) {
System.out.println("success");
} else {
System.out.println("failure");
}
失敗を与えています。しかし、私が使用matcher.find()
すると、成功しています。
これを達成するための正規表現と一致しない理由を理解するのを手伝ってください。