Java では、正規表現を使用してテキストを自動的に言い換えようとしています。
したがって、次のように、正規表現の最初の一致をその正規表現のランダムに生成された一致に置き換える方法を見つける必要があります。
public static String paraphraseUsingRegularExpression(String textToParaphrase, String regexToUse){
//In textToParaphrase, replace the first match of regexToUse with a randomly generated match of regexToUse, and return the modified string.
}
では、文字列内の正規表現の最初の一致を、その正規表現のランダムに生成された一致に置き換えるにはどうすればよいでしょうか? (おそらく、この目的にはxegerと呼ばれるライブラリが役立つでしょう。)
たとえばparaphraseUsingRegularExpression("I am very happy today", "(very|extremely) (happy|joyful) (today|at this (moment|time|instant in time))");
、正規表現の最初の一致をランダムに生成された正規表現の一致に置き換え、出力"I am extremely joyful at this moment in time"
、または"I am very happy at this time"
.