https://github.com/k-takata/Onigmo
Onigmo adalah perpustakaan ekspresi reguler yang bercabang dari Oniguruma. Ini berfokus untuk mendukung ekspresi baru seperti K
, R
, (?(cond)yes|no)
dan lain-lain. yang didukung di Perl 5.10+.
Karena Onigmo digunakan sebagai pustaka regexp default Ruby 2.0 atau lebih baru, banyak patch yang di-backport dari Ruby 2.x.
Lihat juga halaman Wiki: https://github.com/k-takata/Onigmo/wiki
Lisensi BSD.
./autogen.sh
(Jika configure
tidak ada.)./configure
make
make install
tes
membuat tes
hapus instalan
buat uninstall
pemeriksaan konfigurasi
onigmo-config --cflags onigmo-config --libs onigmo-config --prefix onigmo-config --exec-prefix
Jalankan build_nmake.cmd
. build_x64
atau build_x86
akan digunakan sebagai direktori kerja/output.
onigmo_s.lib: static link library
onigmo.lib: import library for dynamic link
onigmo.dll: dynamic link library
tes (ASCII/Shift_JIS/EUC-JP/Unicode)
Jalankan build_nmake.cmd test
. Python (dengan bitness yang sama dengan Onigmo) diperlukan untuk menjalankan pengujian.
Jalankan mingw32-make -f win32/Makefile.mingw
. build_x86-64
, build_i686
dan lain-lain akan digunakan sebagai direktori kerja/output.
libonigmo.a: static link library
libonigmo.dll.a: import library for dynamic link
onigmo.dll: dynamic link library
tes (ASCII/Shift_JIS/EUC-JP/Unicode)
Jalankan mingw32-make -f win32/Makefile.mingw test
. Python (dengan bitness yang sama dengan Onigmo) diperlukan untuk menjalankan pengujian.
Jika Anda menggunakan MinGW di MSYS2, Anda juga dapat menggunakan ./configure
dan make
seperti Unix. Dalam hal ini, nama DLL akan memiliki nomor versi API. Misalnya:
libonigmo-6.dll
Lihat doc/RE atau doc/RE.ja untuk bahasa Jepang.
Sertakan onigmo.h dalam program Anda. (Onigmo API) Lihat dokumen/API untuk Onigmo API.
Jika Anda ingin menonaktifkan definisi tipe UChar
(== unsigned char
) di onigmo.h, tentukan ONIG_ESCAPE_UCHAR_COLLISION
lalu sertakan onigmo.h.
Jika Anda ingin menonaktifkan definisi tipe regex_t
di onigmo.h, tentukan ONIG_ESCAPE_REGEX_T_COLLISION
lalu sertakan onigmo.h.
Contoh baris perintah kompilasi/penghubung di Unix atau Cygwin, (awalan == /usr/huruf lokal)
cc sample.c -L/usr/local/lib -lonigmo
Jika Anda ingin menggunakan pustaka tautan statis (onigmo_s.lib) di Win32, tambahkan opsi -DONIG_EXTERN=extern
ke kompiler C.
Mengajukan | Keterangan |
---|---|
sampel/sederhana.c | contoh minimum (Onigmo API) |
sampel/nama.c | contoh panggilan balik grup bernama. |
sampel/encode.c | contoh beberapa pengkodean. |
sampel/listcap.c | contoh sejarah penangkapan. |
sampel/posix.c | Contoh API POSIX. |
sampel/sql.c | contoh karakter meta variabel. |
Program Uji
Mengajukan | Keterangan |
---|---|
sampel/sintaks.c | Tes sintaks Perl, Java dan ASIS. |
sampel/crnl.c | tes CRNL |
Mengajukan | Keterangan |
---|---|
onigmo.h | File header API Onigmo (publik) |
onigmo-config.in | templat program pemeriksaan konfigurasi |
onigmo.py | Modul Onigmo untuk Python |
kabupaten.h | file header kerangka pengkodean karakter |
regint.h | definisi internal |
ulang.h | definisi internal untuk regparse.c dan regcomp.c |
regcomp.c | fungsi kompilasi dan optimasi |
kabupatenc.c | kerangka pengkodean karakter |
kesalahan.c | fungsi pesan kesalahan |
regext.c | fungsi API yang diperluas (API versi deluxe) |
regexec.c | fungsi pencarian dan pencocokan |
reparse.c | fungsi penguraian. |
sintaksis reg.c | fungsi sintaksis pola dan definisi sintaksis bawaan |
Regtrav.c | menangkap fungsi lintasan data pohon riwayat |
pembalikan.c | fungsi info versi |
st.h | file header fungsi tabel hash |
st.c | fungsi tabel hash |
onigmognu.h | File header API regex GNU (publik) |
reggnu.c | Fungsi API regex GNU |
onigmoposix.h | File header API POSIX (publik) |
regposer.c | Fungsi pesan kesalahan POSIX |
regposix.c | Fungsi API POSIX |
enc/mktable.c | generator tabel tipe karakter |
enc/ascii.c | Pengkodean ASCII-8BIT |
enc/jis/ | Data properti JIS |
enc/euc_jp.c | Pengkodean EUC-JP |
enc/euc_tw.c | Pengkodean EUC-TW |
enc/euc_kr.c | Pengkodean EUC-KR, EUC-CN |
enc/shift_jis.c | Pengkodean Shift_JIS |
enc/shift_jis.h | Bagian umum dari pengkodean Shift_JIS dan Windows-31J |
enc/windows_31j.c | Pengkodean Windows-31J (CP932). |
enc/big5.c | Pengkodean Big5 |
enc/gb18030.c | Pengkodean GB18030 |
enc/gbk.c | Pengkodean GBK |
enc/koi8_r.c | Pengkodean KOI8-R |
enc/koi8_u.c | Pengkodean KOI8-U |
enc/iso_8859.h | definisi umum pengkodean ISO-8859 |
enc/iso_8859_1.c | ISO-8859-1 (Latin-1) |
enc/iso_8859_2.c | ISO-8859-2 (Latin-2) |
enc/iso_8859_3.c | ISO-8859-3 (Latin-3) |
enc/iso_8859_4.c | ISO-8859-4 (Latin-4) |
enc/iso_8859_5.c | ISO-8859-5 (Sirilik) |
enc/iso_8859_6.c | ISO-8859-6 (Arab) |
enc/iso_8859_7.c | ISO-8859-7 (Yunani) |
enc/iso_8859_8.c | ISO-8859-8 (Ibrani) |
enc/iso_8859_9.c | ISO-8859-9 (Latin-5 atau Turki) |
enc/iso_8859_10.c | ISO-8859-10 (Latin-6 atau Nordik) |
enc/iso_8859_11.c | ISO-8859-11 (Thailand) |
enc/iso_8859_13.c | ISO-8859-13 (Latin-7 atau Baltic Rim) |
enc/iso_8859_14.c | ISO-8859-14 (Latin-8 atau Celtic) |
enc/iso_8859_15.c | ISO-8859-15 (Latin-9 atau Eropa Barat dengan Euro) |
enc/iso_8859_16.c | ISO-8859-16 (Latin-10) |
enc/utf_8.c | Pengkodean UTF-8 |
enc/utf_16be.c | Pengkodean UTF-16BE |
enc/utf_16le.c | Pengkodean UTF-16LE |
enc/utf_32be.c | Pengkodean UTF-32BE |
enc/utf_32le.c | Pengkodean UTF-32LE |
enc/unicode.c | kode umum pengkodean Unicode |
enc/unicode/ | Data pelipatan huruf Unicode dan data properti |
enc/windows_1250.c | Pengkodean Windows-1250 (CP1250) (Eropa Tengah/Timur) |
enc/windows_1251.c | Pengkodean Windows-1251 (CP1251) (Sirilik) |
enc/windows_1252.c | Pengkodean Windows-1252 (CP1252) (Latin) |
enc/windows_1253.c | Pengkodean Windows-1253 (CP1253) (Yunani) |
enc/windows_1254.c | Pengkodean Windows-1254 (CP1254) (Turki) |
enc/windows_1257.c | Pengkodean Windows-1257 (CP1257) (Baltic Rim) |
enc/cp949.c | Pengkodean CP949 (hanya digunakan di Ruby) |
enc/emacs_mule.c | Pengkodean internal Emacs (hanya digunakan di Ruby) |
enc/gb2312.c | Pengkodean GB2312 (hanya digunakan di Ruby) |
enc/us_ascii.c | Pengkodean US-ASCII (hanya digunakan di Ruby) |
win32/Makefile | Makefile untuk Win32 (VC++) |
win32/Makefile.mingw | Makefile untuk Win32 (MinGW) |
win32/config.h | config.h untuk Win32 |
win32/onigmo.rc | file sumber daya untuk Win32 |