4 https://github.com/kkos/oniguruma
6 Oniguruma is a regular expressions library.
7 The characteristics of this library is that different character encoding
8 for every regular expression object can be specified.
10 Supported character encodings:
12 ASCII, UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE,
13 EUC-JP, EUC-TW, EUC-KR, EUC-CN,
14 Shift_JIS, Big5, GB18030, KOI8-R, CP1251,
15 ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5,
16 ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10,
17 ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16
19 * GB18030: contributed by KUBO Takehiro
20 * CP1251: contributed by Byte
32 ### Case 1: Unix and Cygwin platform
34 1. autoreconf -vfi (* case: configure script is not found.)
49 onig-config --exec-prefix
53 ### Case 2: Windows 64/32bit platform (Visual Studio)
55 execute make_win64 or make_win32
57 onig_s.lib: static link library
58 onig.dll: dynamic link library
60 * test (ASCII/Shift_JIS)
63 2. copy ..\windows\testc.c .
64 3. nmake -f Makefile.windows ctest
66 (I have checked by Visual Studio Community 2015)
73 See [doc/RE](doc/RE) or [doc/RE.ja](doc/RE.ja) for Japanese.
79 Include oniguruma.h in your program. (Oniguruma API)
80 See doc/API for Oniguruma API.
82 If you want to disable UChar type (== unsigned char) definition
83 in oniguruma.h, define ONIG_ESCAPE_UCHAR_COLLISION and then
86 If you want to disable regex_t type definition in oniguruma.h,
87 define ONIG_ESCAPE_REGEX_T_COLLISION and then include oniguruma.h.
89 Example of the compiling/linking command line in Unix or Cygwin,
90 (prefix == /usr/local case)
92 cc sample.c -L/usr/local/lib -lonig
95 If you want to use static link library(onig_s.lib) in Win32,
96 add option -DONIG_EXTERN=extern to C compiler.
104 |:------------------|:----------------------------------------|
105 |sample/simple.c |example of the minimum (Oniguruma API) |
106 |sample/names.c |example of the named group callback. |
107 |sample/encode.c |example of some encodings. |
108 |sample/listcap.c |example of the capture history. |
109 |sample/posix.c |POSIX API sample. |
110 |sample/sql.c |example of the variable meta characters. |
116 |:------------------|:--------------------------------------|
117 |sample/syntax.c |Perl, Java and ASIS syntax test. |
118 |sample/crnl.c |--enable-crnl-as-line-terminator test |
126 |:------------------|:-------------------------------------------------------|
127 |oniguruma.h |Oniguruma API header file (public) |
128 |onig-config.in |configuration check program template |
129 |regenc.h |character encodings framework header file |
130 |regint.h |internal definitions |
131 |regparse.h |internal definitions for regparse.c and regcomp.c |
132 |regcomp.c |compiling and optimization functions |
133 |regenc.c |character encodings framework |
134 |regerror.c |error message function |
135 |regext.c |extended API functions (deluxe version API) |
136 |regexec.c |search and match functions |
137 |regparse.c |parsing functions. |
138 |regsyntax.c |pattern syntax functions and built-in syntax definitions|
139 |regtrav.c |capture history tree data traverse functions |
140 |regversion.c |version info function |
141 |st.h |hash table functions header file |
142 |st.c |hash table functions |
143 |oniggnu.h |GNU regex API header file (public) |
144 |reggnu.c |GNU regex API functions |
145 |onigposix.h |POSIX API header file (public) |
146 |regposerr.c |POSIX error message function |
147 |regposix.c |POSIX API functions |
148 |mktable.c |character type table generator |
149 |ascii.c |ASCII encoding |
150 |euc_jp.c |EUC-JP encoding |
151 |euc_tw.c |EUC-TW encoding |
152 |euc_kr.c |EUC-KR, EUC-CN encoding |
153 |sjis.c |Shift_JIS encoding |
154 |big5.c |Big5 encoding |
155 |gb18030.c |GB18030 encoding |
156 |koi8.c |KOI8 encoding |
157 |koi8_r.c |KOI8-R encoding |
158 |cp1251.c |CP1251 encoding |
159 |iso8859_1.c |ISO-8859-1 (Latin-1) |
160 |iso8859_2.c |ISO-8859-2 (Latin-2) |
161 |iso8859_3.c |ISO-8859-3 (Latin-3) |
162 |iso8859_4.c |ISO-8859-4 (Latin-4) |
163 |iso8859_5.c |ISO-8859-5 (Cyrillic) |
164 |iso8859_6.c |ISO-8859-6 (Arabic) |
165 |iso8859_7.c |ISO-8859-7 (Greek) |
166 |iso8859_8.c |ISO-8859-8 (Hebrew) |
167 |iso8859_9.c |ISO-8859-9 (Latin-5 or Turkish) |
168 |iso8859_10.c |ISO-8859-10 (Latin-6 or Nordic) |
169 |iso8859_11.c |ISO-8859-11 (Thai) |
170 |iso8859_13.c |ISO-8859-13 (Latin-7 or Baltic Rim) |
171 |iso8859_14.c |ISO-8859-14 (Latin-8 or Celtic) |
172 |iso8859_15.c |ISO-8859-15 (Latin-9 or West European with Euro) |
173 |iso8859_16.c |ISO-8859-16 (Latin-10) |
174 |utf8.c |UTF-8 encoding |
175 |utf16_be.c |UTF-16BE encoding |
176 |utf16_le.c |UTF-16LE encoding |
177 |utf32_be.c |UTF-32BE encoding |
178 |utf32_le.c |UTF-32LE encoding |
179 |unicode.c |Unicode information data |
180 |win32/Makefile |Makefile for Win32 (VC++) |
181 |win32/config.h |config.h for Win32 |