https://github.com/k-takata/Onigmo
Onigmo est une bibliothèque d'expressions régulières dérivée d'Oniguruma. Il se concentre sur la prise en charge de nouvelles expressions telles que K
, R
, (?(cond)yes|no)
et etc. qui sont prises en charge dans Perl 5.10+.
Étant donné qu'Onigmo est utilisé comme bibliothèque d'expressions rationnelles par défaut de Ruby 2.0 ou version ultérieure, de nombreux correctifs sont rétroportés depuis Ruby 2.x.
Voir aussi la page Wiki : https://github.com/k-takata/Onigmo/wiki
Licence BSD.
./autogen.sh
(Si configure
n'existe pas.)./configure
make
make install
test
faire un test
désinstaller
faire la désinstallation
vérification de la configuration
onigmo-config --cflags onigmo-config --libs onigmo-config --prefix onigmo-config --exec-prefix
Exécutez build_nmake.cmd
. build_x64
ou build_x86
sera utilisé comme répertoire de travail/de sortie.
onigmo_s.lib: static link library
onigmo.lib: import library for dynamic link
onigmo.dll: dynamic link library
test (ASCII/Shift_JIS/EUC-JP/Unicode)
Exécutez build_nmake.cmd test
. Python (avec le même nombre de bits qu'Onigmo) est nécessaire pour exécuter les tests.
Exécutez mingw32-make -f win32/Makefile.mingw
. build_x86-64
, build_i686
et etc. seront utilisés comme répertoire de travail/de sortie.
libonigmo.a: static link library
libonigmo.dll.a: import library for dynamic link
onigmo.dll: dynamic link library
test (ASCII/Shift_JIS/EUC-JP/Unicode)
Exécutez mingw32-make -f win32/Makefile.mingw test
. Python (avec le même nombre de bits qu'Onigmo) est nécessaire pour exécuter les tests.
Si vous utilisez MinGW sur MSYS2, vous pouvez également utiliser ./configure
et make
like Unix. Dans ce cas, le nom de la DLL aura le numéro de version de l'API. Par exemple :
libonigmo-6.dll
Voir doc/RE ou doc/RE.ja pour le japonais.
Incluez onigmo.h dans votre programme. (API Onigmo) Voir doc/API pour l'API Onigmo.
Si vous souhaitez désactiver la définition du type UChar
(== unsigned char
) dans onigmo.h, définissez ONIG_ESCAPE_UCHAR_COLLISION
puis incluez onigmo.h.
Si vous souhaitez désactiver la définition de type regex_t
dans onigmo.h, définissez ONIG_ESCAPE_REGEX_T_COLLISION
puis incluez onigmo.h.
Exemple de ligne de commande de compilation/liaison sous Unix ou Cygwin, (préfixe == /usr/local case)
cc sample.c -L/usr/local/lib -lonigmo
Si vous souhaitez utiliser la bibliothèque de liens statiques (onigmo_s.lib) dans Win32, ajoutez l'option -DONIG_EXTERN=extern
au compilateur C.
Déposer | Description |
---|---|
exemple/simple.c | exemple du minimum (API Onigmo) |
échantillon/noms.c | exemple de rappel de groupe nommé. |
échantillon/encoder.c | exemple de quelques encodages. |
exemple/listcap.c | exemple de l’historique des captures. |
exemple/posix.c | Exemple d'API POSIX. |
exemple/sql.c | exemple des méta-caractères variables. |
Programmes de tests
Déposer | Description |
---|---|
exemple/syntaxe.c | Test de syntaxe Perl, Java et ASIS. |
échantillon/crnl.c | Test CRNL |
Déposer | Description |
---|---|
onigmo.h | Fichier d'en-tête de l'API Onigmo (public) |
onigmo-config.in | modèle de programme de vérification de la configuration |
onigmo.py | Module Onigmo pour Python |
regenc.h | fichier d'en-tête du cadre de codage de caractères |
regint.h | définitions internes |
regparse.h | définitions internes pour regparse.c et regcomp.c |
regcomp.c | fonctions de compilation et d'optimisation |
regenc.c | cadre d'encodage de caractères |
regerror.c | fonction de message d'erreur |
regext.c | fonctions API étendues (API version de luxe) |
regexec.c | fonctions de recherche et de correspondance |
regparse.c | fonctions d'analyse. |
syntaxereg.c | fonctions de syntaxe de modèle et définition de syntaxe intégrée |
regtrav.c | capturer les fonctions de parcours des données de l'arborescence historique |
regversion.c | fonction d'informations sur la version |
st.h | fichier d'en-tête des fonctions de table de hachage |
st.c | fonctions de table de hachage |
onigmognu.h | Fichier d'en-tête de l'API GNU regex (public) |
reggnu.c | Fonctions de l'API regex GNU |
onigmoposix.h | Fichier d'en-tête de l'API POSIX (public) |
regposerr.c | Fonction de message d'erreur POSIX |
regposix.c | Fonctions de l'API POSIX |
enc/mktable.c | générateur de table de types de caractères |
enc/ascii.c | Encodage ASCII-8BIT |
enc/jis/ | Données de propriétés JIS |
enc/euc_jp.c | Encodage EUC-JP |
enc/euc_tw.c | Encodage EUC-TW |
enc/euc_kr.c | Encodage EUC-KR, EUC-CN |
enc/shift_jis.c | Encodage Shift_JIS |
enc/shift_jis.h | Partie commune de l'encodage Shift_JIS et Windows-31J |
enc/windows_31j.c | Encodage Windows-31J (CP932) |
enc/big5.c | Encodage Big5 |
enc/gb18030.c | Encodage GB18030 |
enc/gbk.c | Encodage GBK |
enc/koi8_r.c | Encodage KOI8-R |
enc/koi8_u.c | Encodage KOI8-U |
enc/iso_8859.h | définition commune du codage 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 (cyrillique) |
enc/iso_8859_6.c | ISO-8859-6 (arabe) |
enc/iso_8859_7.c | ISO-8859-7 (grec) |
enc/iso_8859_8.c | ISO-8859-8 (hébreu) |
enc/iso_8859_9.c | ISO-8859-9 (Latin-5 ou turc) |
enc/iso_8859_10.c | ISO-8859-10 (Latin-6 ou nordique) |
enc/iso_8859_11.c | ISO-8859-11 (thaïlandais) |
enc/iso_8859_13.c | ISO-8859-13 (Latin-7 ou Baltic Rim) |
enc/iso_8859_14.c | ISO-8859-14 (Latin-8 ou Celtique) |
enc/iso_8859_15.c | ISO-8859-15 (Latin-9 ou Europe occidentale avec euro) |
enc/iso_8859_16.c | ISO-8859-16 (Latin-10) |
enc/utf_8.c | Encodage UTF-8 |
enc/utf_16be.c | Encodage UTF-16BE |
enc/utf_16le.c | Encodage UTF-16LE |
enc/utf_32be.c | Encodage UTF-32BE |
enc/utf_32le.c | Encodage UTF-32LE |
enc/unicode.c | codes courants de codage Unicode |
enc/unicode/ | Données de pliage de casse Unicode et données de propriétés |
enc/windows_1250.c | Encodage Windows-1250 (CP1250) (Europe centrale/orientale) |
enc/windows_1251.c | Encodage Windows-1251 (CP1251) (cyrillique) |
enc/windows_1252.c | Encodage Windows-1252 (CP1252) (latin) |
enc/windows_1253.c | Encodage Windows-1253 (CP1253) (grec) |
enc/windows_1254.c | Encodage Windows-1254 (CP1254) (turc) |
enc/windows_1257.c | Encodage Windows-1257 (CP1257) (Baltic Rim) |
enc/cp949.c | Encodage CP949 (utilisé uniquement dans Ruby) |
enc/emacs_mule.c | Encodage interne d'Emacs (utilisé uniquement dans Ruby) |
enc/gb2312.c | Encodage GB2312 (utilisé uniquement dans Ruby) |
enc/us_ascii.c | Encodage US-ASCII (utilisé uniquement dans Ruby) |
win32/Makefile | Makefile pour Win32 (VC++) |
win32/Makefile.mingw | Makefile pour Win32 (MinGW) |
win32/config.h | config.h pour Win32 |
win32/onigmo.rc | fichier de ressources pour Win32 |