fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.regex.*;
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. String s = "some@domain.com\ndomain.com\nwww.domain.com\nhttp://w...content-available-to-author-only...n.com\nhttps://w...content-available-to-author-only...n.com";
  13. StringBuffer result = new StringBuffer();
  14. Matcher m = Pattern.compile("(?i)\\S+@\\S+\\.\\S+|((?:https?://)?(?:[a-z0-9-]+[.])*[a-z0-9-]+[.][a-z]+/?[^\\s()<>]*)").matcher(s);
  15. while (m.find()) {
  16. if (m.group(1) != null) {
  17. m.appendReplacement(result, "<a href=\"" + m.group(1) + "\">" + m.group(1) + "</a>");
  18. }
  19. else {
  20. m.appendReplacement(result, m.group());
  21. }
  22. }
  23. m.appendTail(result);
  24. System.out.println(result.toString());
  25.  
  26. }
  27. }
Success #stdin #stdout 0.05s 711168KB
stdin
Standard input is empty
stdout
some@domain.com
<a href="domain.com">domain.com</a>
<a href="www.domain.com">www.domain.com</a>
<a href="http://w...content-available-to-author-only...n.com">http://w...content-available-to-author-only...n.com</a>
<a href="https://w...content-available-to-author-only...n.com">https://w...content-available-to-author-only...n.com</a>