|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--kmy.regex.util.Regex
Regular expression interface definition and convenience methods. Interface focuses on efficiency and convenience methods can be used when simplicity is more important (most of the times).
Regex can be used either for search or for matching. Matching determines if string maches regex exactly and search determines if there is a substring of the given string that matches the regex. There is matchWhole and match methods; matchWhole is "pure" match, it tries to match the whole string; match tries to match beginning of the string.
Regex can contain embedded variables of two types. External variables are referenced with dollar sign ($), but not 'at' sign (@). They must be assigned prior to search or matching. Internal variables are either implicit (1, 2, etc) - those refer to unnamed subexpressions in brackets (for example regex (.)(.)=\1\2 contains two implicit variables: 1 and 2), or explicit - those are given names (with '@' constructions). Internal variables may be assigned values in the process of matching and their values can be obtained from the regex that was used for search or matching.
Regex contains some "working space" for the matching process. Therefore between the match/search call and till all information about match/search is obtained regex should be used only by a single thread. Use clone() or cloneRegex() to get a separate copy of it.
All 'end' or 'final' substring positions or indices in the buffer refer to the first character after substring.
Field Summary | |
private static RegexFactory |
factory
|
Constructor Summary | |
Regex()
|
Method Summary | |
boolean |
accept(java.io.File dir,
java.lang.String name)
|
java.lang.Object |
clone()
|
Regex |
cloneRegex()
|
static Regex |
createFilePattern(java.lang.String re)
|
protected static Regex |
createLowerCaseRegex(java.lang.String re)
|
static Regex |
createRegex(char[] arr,
int off,
int len)
|
static Regex |
createRegex(java.lang.String re)
|
static Regex |
createRegex(java.lang.String re,
boolean ignoreCase)
|
java.lang.String |
get(java.lang.String var)
|
abstract char[] |
getCharBuffer(int extHandle)
Returns external variable buffer by its buffer handle. |
abstract int |
getExtVariableHandle(java.lang.String var)
Returns external variable buffer handle that can be used later to get or set variable value efficiently. |
abstract int |
getIndex(int handle)
Returns external or internal variable index using its index handle. |
CharString |
getMatch()
|
abstract int |
getMatchEnd()
After successiful search returns matching substring's final position in the input buffer (that was set up by init method). |
abstract int |
getMatchStart()
After successiful search returns matching substring's initial position in the input buffer (that was set up by init method). |
java.lang.String |
getMatchString()
|
abstract int |
getVariableHandle(java.lang.String var,
boolean begin)
Returns variable index handle that can be used later to get or set variable value efficiently. |
void |
init(char[] arr)
|
abstract void |
init(char[] arr,
int off,
int len)
Prepares to match or search. |
void |
init(java.lang.String s)
|
private static void |
initFactory()
|
abstract boolean |
match()
Match the beginning of the buffer (that was set up by init method) against this regex. |
boolean |
matches(char[] arr,
int off,
int len)
|
boolean |
matches(java.lang.String s)
|
boolean |
matchesWhole(char[] arr,
int off,
int len)
|
boolean |
matchesWhole(java.lang.String s)
|
abstract boolean |
matchWhole()
Match the buffer (that was set up by init method) against this regex. |
abstract boolean |
search()
Search the buffer (that was set up by init method) for a substring that matches this regex. |
abstract boolean |
searchAgain()
Search the buffer (that was set up by init method) for a substring that matches this regex. |
boolean |
searchOnce(char[] arr,
int off,
int len)
|
boolean |
searchOnce(CharString s)
|
boolean |
searchOnce(java.lang.Object obj)
|
boolean |
searchOnce(java.lang.String s)
|
void |
set(java.lang.String var,
java.lang.String val)
|
void |
setExtVariable(int extHandle,
int beginHandle,
int endHandle,
char[] carr)
|
void |
setExtVariable(int extHandle,
int beginHandle,
int endHandle,
CharString v)
|
void |
setExtVariable(int extHandle,
int beginHandle,
int endHandle,
java.lang.Object v)
|
void |
setExtVariable(int extHandle,
int beginHandle,
int endHandle,
java.lang.String v)
|
abstract void |
setExtVariableBuffer(int extHandle,
char[] arr)
Assignes external variable buffer by its buffer handle. |
static void |
setFactory(RegexFactory _factory)
|
abstract void |
setIndex(int handle,
int value)
Returns internal variable index using its index handle. |
abstract void |
setRefilledBuffer(char[] buffer)
Refiller can call this method after refilling the buffer, if buffer has been reallocated. |
abstract void |
setRefiller(RegexRefiller refiller)
|
abstract java.util.Enumeration |
variables()
Enumerates all external and internal variables in this regex. |
Methods inherited from class java.lang.Object |
|
Field Detail |
private static RegexFactory factory
Constructor Detail |
public Regex()
Method Detail |
public abstract int getVariableHandle(java.lang.String var, boolean begin)
public abstract int getExtVariableHandle(java.lang.String var)
public abstract java.util.Enumeration variables()
public abstract void init(char[] arr, int off, int len)
public abstract boolean searchAgain()
public abstract boolean search()
public abstract boolean matchWhole()
public abstract boolean match()
public abstract int getIndex(int handle)
public abstract void setIndex(int handle, int value)
public abstract char[] getCharBuffer(int extHandle)
public abstract int getMatchStart()
public abstract int getMatchEnd()
public abstract void setExtVariableBuffer(int extHandle, char[] arr)
public abstract void setRefiller(RegexRefiller refiller)
public abstract void setRefilledBuffer(char[] buffer)
public boolean matches(char[] arr, int off, int len)
public boolean matches(java.lang.String s)
public boolean matchesWhole(char[] arr, int off, int len)
public boolean matchesWhole(java.lang.String s)
public boolean searchOnce(char[] arr, int off, int len)
public boolean searchOnce(java.lang.String s)
public boolean searchOnce(CharString s)
public boolean searchOnce(java.lang.Object obj)
public void setExtVariable(int extHandle, int beginHandle, int endHandle, java.lang.String v)
public void setExtVariable(int extHandle, int beginHandle, int endHandle, CharString v)
public void setExtVariable(int extHandle, int beginHandle, int endHandle, char[] carr)
public void setExtVariable(int extHandle, int beginHandle, int endHandle, java.lang.Object v)
public CharString getMatch()
public java.lang.String getMatchString()
public java.lang.String get(java.lang.String var)
public void set(java.lang.String var, java.lang.String val)
public Regex cloneRegex()
public void init(char[] arr)
public void init(java.lang.String s)
public java.lang.Object clone()
public static Regex createRegex(java.lang.String re)
public static Regex createRegex(java.lang.String re, boolean ignoreCase)
public static Regex createFilePattern(java.lang.String re)
public static Regex createRegex(char[] arr, int off, int len)
protected static Regex createLowerCaseRegex(java.lang.String re)
public static void setFactory(RegexFactory _factory)
private static void initFactory()
public boolean accept(java.io.File dir, java.lang.String name)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |