Need help with rubex?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

moovweb
217 Stars 36 Forks MIT License 109 Commits 0 Opened issues

Description

Super Fast Regex in Go

Services available

!
?

Need anything else?

Contributors list

# 105,527
Ruby
Shell
transmi...
text-an...
1 commit

Rubex : Super Fast Regexp for Go

by Zhigang Chen ([email protected] or [email protected])

ONLY USE go1 BRANCH

A simple regular expression library that supports Ruby's regexp syntax. It implements all the public functions of Go's Regexp package, except LiteralPrefix. By the benchmark tests in Regexp, the library is 40% to 10X faster than Regexp on all but one test. Unlike Go's Regrexp, this library supports named capture groups and also allow "\1" and "\k" in replacement strings.

The library calls the Oniguruma regex library (5.9.2, the latest release as of now) for regex pattern searching. All replacement code is done in Go. This library can be easily adapted to support the regex syntax used by other programming languages or tools, like Java, Perl, grep, and emacs.

Installation

First, ensure you have Oniguruma installed. On OS X with brew, its as simple as

brew install oniguruma

On Ubuntu...

sudo apt-get install libonig2

Now that we've got Oniguruma installed, we can install Rubex!

go install github.com/moovweb/rubex

Example Usage

import "rubex"

rxp := rubex.MustCompile("[a-z]*") if err != nil { // whoops } result := rxp.FindString("a me my") if result != "" { // FOUND A STRING!! YAY! Must be "a" in this instance } else { // no good }

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.