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.)./configuremakemake installtes
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 |