Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static class LookAround{
- static String generate(String string){
- return "(?<=" + string + ")|(?=" + string + ")";
- }
- }
- String[] split(String input){
- String[] tokens;
- input = input.replace("(\\/{2}.\n)" + //match // + anyString + newline
- "|\\/\\*.s?\\*\\/" //match /* + anyString + */
- , "");
- String includedTokenDelimiters =
- "^(\".*\")" + // dont match between quotation marks
- "[;=\\-+/*\\[\\]:\\{\\}]" + // match any of ;=\-+/*\[\]{}:
- "|(<\\[\\S+ ]>)" + // OR match <anyString>
- "|(\\[\\S+ ])" + // OR match (anyString)
- "|(\\[[\\S+ ]?\\])"; // OR match [anyString]
- String excludedTokenDelimiters = "\\s+"; //one or more whitespace characters
- tokens =Arrays.stream(
- input.split(excludedTokenDelimiters + "|" + LookAround.generate(includedTokenDelimiters)))
- .filter(s -> !s.equals(""))
- .toArray(String[]::new);
- return tokens;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement