Skip to content

Repository files navigation

joni

Maven CentralBuild Status

Java port of Oniguruma regexp library

Usage

Imports

importorg.jcodings.specific.UTF8Encoding;
importorg.joni.Matcher;
importorg.joni.Option;
importorg.joni.Regex;

Matching

byte[] pattern = "a*".getBytes();
byte[] str = "aaa".getBytes();
Regexregex = newRegex(pattern, 0, pattern.length, Option.NONE, UTF8Encoding.INSTANCE);
Matchermatcher = regex.matcher(str);
intresult = matcher.search(0, str.length, Option.DEFAULT);

Using captures

byte[] pattern = "(a*)".getBytes();
byte[] str = "aaa".getBytes();
Regexregex = newRegex(pattern, 0, pattern.length, Option.NONE, UTF8Encoding.INSTANCE);
Matchermatcher = regex.matcher(str);
intresult = matcher.search(0, str.length, Option.DEFAULT);
if (result != -1) {
Regionregion = matcher.getEagerRegion();
}

Using named captures

byte[] pattern = "(?<name>a*)".getBytes();
byte[] str = "aaa".getBytes();
Regexregex = newRegex(pattern, 0, pattern.length, Option.NONE, UTF8Encoding.INSTANCE);
Matchermatcher = regex.matcher(str);
intresult = matcher.search(0, str.length, Option.DEFAULT);
if (result != -1) {
Regionregion = matcher.getEagerRegion();
for (Iterator<NameEntry> entry = regex.namedBackrefIterator(); entry.hasNext();) {
NameEntrye = entry.next();
intnumber = e.getBackRefs()[0]; // can have many refs per name// int begin = region.beg[number];// int end = region.end[number];
}
}

License

Joni is released under the MIT License.

About

Java port of Oniguruma regexp library

Resources

Stars

186 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages