fork download
  1. import java.util.*;
  2. import java.util.regex.*;
  3. import java.lang.*;
  4. import java.io.*;
  5.  
  6. class Ideone
  7. {
  8. public static void main (String[] args) throws java.lang.Exception
  9. {
  10. String s = "This is a test\nAnd this is also a test\nAnd these are also tests\ntest\nЭто тест\nЭто также тест\nИ это также тесты";
  11. String rx = "(?sU)\\b(\\w+)\\b(?=.*\\b\\1\\b)";
  12. List<String> matches = new ArrayList<>();
  13. Matcher m = Pattern.compile(rx).matcher(s);
  14. while (m.find()) {
  15. matches.add(m.group());
  16. }
  17. System.out.println(s.replaceAll("(?U)\\b(?:" + String.join("|", matches) + ")\\b", "_$0"));
  18. }
  19. }
Success #stdin #stdout 0.12s 36976KB
stdin
Standard input is empty
stdout
This _is _a _test
_And this _is _also _a _test
_And these are _also tests
_test
_Это _тест
_Это _также _тест
И это _также тесты