Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.10 KB | None | 0 0
  1.     private static class LookAround{
  2.         static String generate(String string){
  3.             return "(?<=" + string + ")|(?=" + string + ")";
  4.         }
  5.     }
  6.     String[] split(String input){
  7.         String[] tokens;
  8.         input = input.replace("(\\/{2}.\n)" +    //match // + anyString + newline
  9.                         "|\\/\\*.s?\\*\\/"    //match /* + anyString + */
  10.                 , "");
  11.         String includedTokenDelimiters =
  12.                 "^(\".*\")" +  // dont match between quotation marks
  13.                 "[;=\\-+/*\\[\\]:\\{\\}]" +   // match any of ;=\-+/*\[\]{}:
  14.                 "|(<\\[\\S+ ]>)" +   // OR match <anyString>
  15.                 "|(\\[\\S+ ])" +   // OR match (anyString)
  16.                 "|(\\[[\\S+ ]?\\])";    // OR match [anyString]
  17.         String excludedTokenDelimiters = "\\s+"; //one or more whitespace characters
  18.         tokens =Arrays.stream(
  19.                 input.split(excludedTokenDelimiters + "|" + LookAround.generate(includedTokenDelimiters)))
  20.                 .filter(s -> !s.equals(""))
  21.                 .toArray(String[]::new);
  22.         return tokens;
  23.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement