/** * Copyright (C) 2013-2016 The Rythm Engine project * for LICENSE and other details see: * https://github.com/rythmengine/rythmengine */ package org.rythmengine.internal.parser; import java.util.regex.Matcher; import java.util.regex.Pattern; public enum Patterns { /** * Recursive regexp, used only with com.stevesoft.pat.Regex */ Expression("(?@())*"), Expression2("(?@())?[a-zA-Z0-9_\\.]*((\\.[a-zA-Z][a-zA-Z0-9_\\.\\=]*)*(?@[])*(?@())*)*"), VarName("[_a-zA-Z][a-zA-Z0-9_]*"), Blank("([\\s\\r\\n]+)"), NewLine("([\r\n]+)"), RESERVED("(if|else|for|null|class|return|break|continue|go|interface|extend|throw|final|finally|private|public|protected|static|void|enum|package|switch|case|do|until|while)"), Type("[a-zA-Z0-9_\\.\\[\\]\\<\\>,]+"); private String s_; private Pattern p_; private Patterns(String pattern) { s_ = pattern; } @Override public String toString() { return s_; } public Pattern pattern() { if (null == p_) { p_ = Pattern.compile(s_); } return p_; } public Matcher matcher(String s) { return pattern().matcher(s); } public boolean matches(String s) { return matcher(s).matches(); } }