文字列の長さに関係なく、文字列配列に存在するより類似したパターンを取得する方法と、そのような類似のパターンがいくつ存在するのだろうか..
例えば:
Mr.Potterとしても知られるハリー・ジェームズ・ポッター。ポッターはハワードでとても有名です。ハリー・ジェームズ・ポッターはミスター・ポッターとも呼ばれていました。
Harry James Potter と Mr.Potter の間のコンテンツを見つける必要があります。
出力は
- としても知られている
- とも呼ばれている
誰でも私を助けることができますか?
ここに私のコードがあります:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class RegexTestHarness {
public static void main(String[] args){
String regex = "Harry James Potter (.*?) Mr.Potter";
String strToSearch = "Harry James Potter also known as Mr.Potter. Harry James Potter is famous as Mr. Potter";
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(strToSearch);
while (matcher.find()) {
System.out.println("Text is at "+matcher.group()+"::"+matcher.start()+":: "+matcher.end());
System.out.println(matcher.groupCount());
System.out.println(matcher.group(1));
}
}
}