https://github.com/kkos/oniguruma
Oniguruma adalah perpustakaan ekspresi reguler yang modern dan fleksibel. Ini mencakup fitur-fitur dari implementasi ekspresi reguler berbeda yang secara tradisional ada dalam berbagai bahasa.
Pengkodean karakter dapat ditentukan per objek ekspresi reguler.
Pengkodean karakter yang didukung:
ASCII, UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE, EUC-JP, EUC-TW, EUC-KR, EUC-CN, Shift_JIS, Big5, GB18030, KOI8-R, CP1251, 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
Saat menggunakan skrip konfigurasi, jika Anda mengaktifkan API POSIX di versi sebelumnya (dinonaktifkan secara default di 6.9.5) dan Anda memerlukan kompatibilitas biner aplikasi dengan API POSIX, tentukan "--enable-binary-kompatibel-posix-api= ya" bukannya "--enable-posix-api=yes". Mulai 6.9.6, "--enable-posix-api=yes" hanya mendukung kompatibilitas tingkat sumber untuk 6.9.5 dan versi lebih lama tentang POSIX API. (Masalah #210)
Lisensi BSD.
dnf install oniguruma-devel
yum install oniguruma
apt install libonig5
pacman -S oniguruma
zypper install oniguruma
autoreconf -vfi (* case: skrip konfigurasi tidak ditemukan.)
./konfigurasi
membuat
buat instal
hapus instalan
buat uninstall
pemeriksaan konfigurasi
onig-config --cflags onig-config --libs onig-config --prefix onig-config --exec-prefix
membangun perpustakaan
.make_win.bat
onig_s.lib: perpustakaan tautan statis onig.dll: perpustakaan tautan dinamis
membuat program pengujian
.make_win.bat semua tes
Alternatifnya, Anda dapat membangun dan menginstal oniguruma menggunakan manajer ketergantungan vcpkg:
Port oniguruma di vcpkg selalu diperbarui oleh anggota tim Microsoft dan kontributor komunitas. Jika versinya sudah kedaluwarsa, silakan buat masalah atau tarik permintaan pada repositori vcpkg.
Lihat doc/RE atau doc/RE.ja untuk bahasa Jepang.
Sertakan oniguruma.h dalam program Anda. (API Oniguruma) Lihat dokumen/API untuk API Oniguruma.
Jika Anda ingin menonaktifkan definisi tipe UChar (== unsigned char) di oniguruma.h, tentukan ONIG_ESCAPE_UCHAR_COLLISION lalu sertakan oniguruma.h.
Jika Anda ingin menonaktifkan definisi tipe regex_t di oniguruma.h, tentukan ONIG_ESCAPE_REGEX_T_COLLISION lalu sertakan oniguruma.h.
Contoh baris perintah kompilasi/penghubung di Unix atau Cygwin, (awalan == /usr/huruf lokal)
cc sample.c -L/usr/local/lib -lonig
Jika Anda ingin menggunakan perpustakaan tautan statis (onig_s.lib) di Win32, tambahkan opsi -DONIG_EXTERN=extern ke kompiler C.
Mengajukan | Keterangan |
---|---|
sampel/info.c | contoh info |
sampel/hitungan.c | contoh info bawaan *COUNT |
sampel/echo.c | contoh pemanggilan nama yang ditentukan pengguna |
sampel/encode.c | contoh beberapa pengkodean |
sampel/listcap.c | contoh sejarah penangkapan |
sampel/nama.c | contoh panggilan balik grup bernama |
sampel/posix.c | Contoh API POSIX |
sampel/regset.c | contoh penggunaan RegSet API |
sampel/scan.c | contoh penggunaan onig_scan() |
sampel/sederhana.c | contoh minimum (Oniguruma API) |
sampel/sql.c | contoh karakter meta variabel |
sampel/user_property.c | contoh properti Unicode yang ditentukan pengguna |
Program Uji
Mengajukan | Keterangan |
---|---|
sampel/sintaks.c | Tes sintaksis Perl, Java dan ASIS. |
sampel/crnl.c | --mengaktifkan-crnl-as-line-terminator tes |
Mengajukan | Keterangan |
---|---|
oniguruma.h | File header API Oniguruma (publik) |
onig-config.in | templat program pemeriksaan konfigurasi |
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 |
pengembalian.c | fungsi info versi |
st.h | file header fungsi tabel hash |
st.c | fungsi tabel hash |
oniggnu.h | File header API regex GNU (publik) |
reggnu.c | Fungsi API regex GNU |
onigposix.h | File header API POSIX (publik) |
regposer.c | Fungsi pesan kesalahan POSIX |
regposix.c | Fungsi API POSIX |
mktable.c | generator tabel tipe karakter |
ascii.c | Pengkodean ASCII |
euc_jp.c | Pengkodean EUC-JP |
euc_tw.c | Pengkodean EUC-TW |
euc_kr.c | Pengkodean EUC-KR, EUC-CN |
sjis.c | Pengkodean Shift_JIS |
besar5.c | Pengkodean Big5 |
gb18030.c | Pengkodean GB18030 |
koi8.c | Pengkodean KOI8 |
koi8_r.c | Pengkodean KOI8-R |
cp1251.c | Pengkodean CP1251 |
iso8859_1.c | ISO-8859-1 (Latin-1) |
iso8859_2.c | ISO-8859-2 (Latin-2) |
iso8859_3.c | ISO-8859-3 (Latin-3) |
iso8859_4.c | ISO-8859-4 (Latin-4) |
iso8859_5.c | ISO-8859-5 (Sirilik) |
iso8859_6.c | ISO-8859-6 (Arab) |
iso8859_7.c | ISO-8859-7 (Yunani) |
iso8859_8.c | ISO-8859-8 (Ibrani) |
iso8859_9.c | ISO-8859-9 (Latin-5 atau Turki) |
iso8859_10.c | ISO-8859-10 (Latin-6 atau Nordik) |
iso8859_11.c | ISO-8859-11 (Thailand) |
iso8859_13.c | ISO-8859-13 (Latin-7 atau Baltic Rim) |
iso8859_14.c | ISO-8859-14 (Latin-8 atau Celtic) |
iso8859_15.c | ISO-8859-15 (Latin-9 atau Eropa Barat dengan Euro) |
iso8859_16.c | ISO-8859-16 (Latin-10) |
utf8.c | Pengkodean UTF-8 |
utf16_be.c | Pengkodean UTF-16BE |
utf16_le.c | Pengkodean UTF-16LE |
utf32_be.c | Pengkodean UTF-32BE |
utf32_le.c | Pengkodean UTF-32LE |
unicode.c | kode umum pengkodean Unicode |
unicode_fold_data.c | Data lipat Unicode |
windows/testc.c | Program pengujian untuk Windows (VC++) |