## Oniguruma

2004/06/17 --- (C) K.Kosako

2004-06-14
To "Greg A. Woods"
I can't send mail to you. (rejected)
Please set nmatch argument of regexec() to 1, and use Oniguruma 3.2.1 or 2.3.1.
The nmatch argument should be array size of pmatch.
But I don't know whether this problem is related to the crash that you reported.

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, 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

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 expression engine of Ruby 1.6/1.8
  In Ruby 1.9, Oniguruma is already incorporated 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 3.2.1 (2004/06/17) Change Log
- 3.2.0 (2004/06/10)
- 3.1.0 (2004/05/25)
- Latest release version 2.3.1 (2004/06/14) Change Log
- 2.3.0 (2004/06/14)
- 2.2.9 (2004/05/25)

* 3.X supports UTF-16/UTF-32, does not support Ruby.
* 2.X does not support UTF-16/UTF-32, supports Ruby.
Documents: (version 3.2.1)

- 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
- FreeBSD ports
- cnRegex 4D Plugin (Japanese page)
- GyazMail
- mregexp (Japanese page)
- MultiFind (Japanese page)
- Ochusha (Japanese page)
- OgreKit (Japanese page)
- OnigRegexp (Japanese page)
- Oniguruma / FireBird (win32)
- Oniguruma-mysqld
- Japan PHP User Group (Japanese page) (PHP 5.0 mb_ereg)
- Ruby

References:

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

ToDo:

- support character types for all code point range.

and I'm thankful to Akinori MUSHA.