# Oniguruma

2006/09/19 (C) K.Kosako

Oniguruma is a regular expressions library.
The characteristics of this library is that different character encoding
for every regular expression object can be specified.

Supported character encodings:
ASCII, UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE,
EUC-JP, EUC-TW, EUC-KR, EUC-CN,
Shift_JIS, Big5, GB 18030, KOI8-R, KOI8,
ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5,
ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10,
ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16
(GB 18030 encoding was contributed by KUBO Takehiro)

What's new

- Version 4.4.4 released. (2006/09/19)
- Version 2.5.7 released. (2006/07/28)

There are two ways of using of it in this program.

- (1) C library (supported APIs: GNU regex, POSIX and Oniguruma native)
- (2) Built-in regular expressions engine of Ruby 1.6/1.8/1.9
  In Ruby 1.9, Oniguruma is already integrated by Kazuo Saito.

Platform:

- Unix (include Mac OS X)
- Cygwin
- Win32

License:
When this software is partly used or it is distributed with Ruby, this of Ruby follows the license of Ruby.
It follows the BSD license in the case of the one except for it.
Download:

- Latest release version 4.4.4 (2006/09/19) Change Log
- 4.4.3 (2006/09/15)
- 4.4.2 (2006/09/08)
- 4.4.1 (2006/08/29)
- Latest release version 2.5.7 (2006/07/28) Change Log
- 2.5.6 (2006/05/29)
- 2.5.5 (2006/05/08)

* 4.X.X supports UTF-16/UTF-32, Ruby 1.9.X.
* 2.X.X does not support UTF-16/UTF-32, supports Ruby 1.6/1.8.[2-4]
Documents: (version 4.4.4)

- Regular Expressions (Japanese: EUC-JP)
- Oniguruma API (Japanese: EUC-JP)

Sample Programs:

- example of the minimum
- example of the variable syntax and meta character (SQL-like pattern match)

Links:

- Oniguruma in Ruby CVS (old version)
- Oniguruma in RAA (Ruby Application Archive)
- FreeBSD ports
- SoftAntenna > Lib > Oniguruma (Japanese page)
- bregonig.dll (Japanese page)
- cnRegex 4D Plugin (Mac OS X) (Japanese page)
- new script language crowbar (Japanese page)
- Delphi interface (Win32) (Japanese page)
- Ensemble (Mac OS X) (Japanese page)
- GHC patch Masahiro Sakai (Japanese Blog)
- GyazMail (Mac OS X)
- Jedit X (Mac OS X)
- Lhaz (Japanese page)
- LimeChat (Japanese page)
- mregexp (Japanese page)
- Ochusha (Japanese page)
- OgreKit (Mac OS X) Regular Expression Framework for Cocoa (Japanese page)
- OnigRegexp (Japanese page)
- Oniguruma / FireBird (Win32)
- Oniguruma-mysqld
- OnigPP (Japanese page)
- Onigsed (Win32) (Japanese page)
- yagrep (Win32) (Japanese page)
- Japan PHP User Group PHP 5.0 mb_ereg (Japanese page)
- Pufui (Mac OS X) (Japanese page)
- RSSTyping (Japanese page)
- Ruby
- ruby-win32-oniguruma (Japanese page)
- SevenFour (Mac OS X) (Japanese page)
- Stork Lab. Products (Mac OS X) (Japanese page)
- TeraTerm
- TextMate (Mac OS X)
- TiddlyWikiPod (Mac OS X)
- TunesTEXT (Mac OS X)
- XML parser
- YokkaSoft

References:

- Ruby Reference Manual Regexp (Japanese page)
- Perl regular expressions
- java.util.regex.Pattern (J2SE 1.4.2)
- The Open Group
- Mastering Regular Expressions
- Unicode Home Page

Resources:

- Regular expressions memo (Japanese page)
- Regular expressions technique (Japanese page)
- "Text Processing" Lecture documents (Tanaka Akira) (Japanese page)

and I'm thankful to Akinori MUSHA.

Other Libraries:

- Boost.Regex
- PCRE
- A copy of Henry Spencer's
- re2c
- T-Rex
- TRE
- gnu.regexp for Java
- Jakarta Project Regexp
- Jakarta Project ORO

Back to Home