This is an automated email from the git hooks/post-receive script. henrich pushed a commit to branch debian/sid in repository jruby-joni.
commit 5c2a2e72011a8aefb12a24e23b14413152e56996 Author: Marcin Mielżyński <[email protected]> Date: Thu Aug 1 19:54:48 2013 +0200 Update README.md --- README.md | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/README.md b/README.md index e5c5611..252a828 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,63 @@ joni Java port of Oniguruma regexp library +## Usage + +### Imports + ```java + import org.jcodings.specific.UTF8Encoding; + import org.joni.Matcher; + import org.joni.Option; + import org.joni.Regex; + ``` + +### Matching + + ```java + + byte[] pattern = "a*".getBytes(); + byte[] str = "aaa".getBytes(); + + Regex regex = new Regex(pattern, 0, pattern.length, Option.NONE, UTF8Encoding.INSTANCE); + Matcher matcher = regex.matcher(str); + int result = matcher.search(0, str.length, Option.DEFAULT); + ``` + +### Using captures + + ```java + byte[] pattern = "(a*)".getBytes(); + byte[] str = "aaa".getBytes(); + + Regex regex = new Regex(pattern, 0, pattern.length, Option.NONE, UTF8Encoding.INSTANCE); + Matcher matcher = regex.matcher(str); + int result = matcher.search(0, str.length, Option.DEFAULT); + if (result != -1) { + Region region = matcher.getEagerRegion(); + } + ``` + +### Using named caputures + + ```java + byte[] pattern = "(?<name>a*)".getBytes(); + byte[] str = "aaa".getBytes(); + + Regex regex = new Regex(pattern, 0, pattern.length, Option.NONE, UTF8Encoding.INSTANCE); + Matcher matcher = regex.matcher(str); + int result = matcher.search(0, str.length, Option.DEFAULT); + if (result != -1) { + Region region = matcher.getEagerRegion(); + for (Iterator<NameEntry> entry = regex.namedBackrefIterator(); entry.hasNext();) { + NameEntry e = entry.next(); + int number = 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](http://www.opensource.org/licenses/MIT). -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jruby-joni.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

