https://github.com/kkos/oniguruma
Oniguruma est une bibliothèque d'expressions régulières moderne et flexible. Il englobe des fonctionnalités de différentes implémentations d'expressions régulières qui existent traditionnellement dans différents langages.
Le codage des caractères peut être spécifié par objet d'expression régulière.
Encodages de caractères pris en charge :
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
Lorsque vous utilisez le script de configuration, si l'API POSIX est activée dans une version antérieure (désactivée par défaut dans la version 6.9.5) et que vous avez besoin d'une compatibilité binaire d'application avec l'API POSIX, spécifiez "--enable-binary-compatible-posix-api= oui" au lieu de "--enable-posix-api=yes". À partir de la version 6.9.6, "--enable-posix-api=yes" prend uniquement en charge la compatibilité au niveau source pour la version 6.9.5 et les versions antérieures concernant l'API POSIX. (Numéro 210)
Licence BSD.
dnf install oniguruma-devel
yum install oniguruma
apt install libonig5
pacman -S oniguruma
zypper install oniguruma
autoreconf -vfi (* cas : le script de configuration est introuvable.)
./configurer
faire
faire installer
désinstaller
faire la désinstallation
vérification de la configuration
onig-config --cflags onig-config --libs onig-config --prefix onig-config --exec-prefix
construire une bibliothèque
.make_win.bat
onig_s.lib : bibliothèque de liens statiques onig.dll : bibliothèque de liens dynamiques
faire des programmes de tests
.make_win.bat tout-test
Alternativement, vous pouvez créer et installer oniguruma à l'aide du gestionnaire de dépendances vcpkg :
Le port oniguruma dans vcpkg est tenu à jour par les membres de l'équipe Microsoft et les contributeurs de la communauté. Si la version est obsolète, veuillez créer un problème ou une pull request sur le référentiel vcpkg.
Voir doc/RE ou doc/RE.ja pour le japonais.
Incluez oniguruma.h dans votre programme. (API Oniguruma) Voir doc/API pour l'API Oniguruma.
Si vous souhaitez désactiver la définition du type UChar (== caractère non signé) dans oniguruma.h, définissez ONIG_ESCAPE_UCHAR_COLLISION puis incluez oniguruma.h.
Si vous souhaitez désactiver la définition de type regex_t dans oniguruma.h, définissez ONIG_ESCAPE_REGEX_T_COLLISION puis incluez oniguruma.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 -lonig
Si vous souhaitez utiliser la bibliothèque de liens statiques (onig_s.lib) dans Win32, ajoutez l'option -DONIG_EXTERN=extern au compilateur C.
Déposer | Description |
---|---|
exemple/callout.c | exemple de légendes |
échantillon/compte.c | exemple de légende intégrée *COUNT |
échantillon/écho.c | exemple de légendes de nom définies par l'utilisateur |
échantillon/encoder.c | exemple de quelques encodages |
exemple/listcap.c | exemple de l'historique des captures |
échantillon/noms.c | exemple de rappel de groupe nommé |
exemple/posix.c | Exemple d'API POSIX |
exemple/regset.c | exemple d'utilisation de l'API RegSet |
échantillon/scan.c | exemple d'utilisation de onig_scan() |
exemple/simple.c | exemple du minimum (API Oniguruma) |
exemple/sql.c | exemple des méta-caractères variables |
exemple/user_property.c | exemple de propriété Unicode définie par l'utilisateur |
Programmes de tests
Déposer | Description |
---|---|
exemple/syntaxe.c | Test de syntaxe Perl, Java et ASIS. |
échantillon/crnl.c | --enable-crnl-as-line-terminator test |
Déposer | Description |
---|---|
oniguruma.h | Fichier d'en-tête de l'API Oniguruma (public) |
onig-config.in | modèle de programme de vérification de la configuration |
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éfinitions de syntaxe intégrées |
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 |
onignu.h | Fichier d'en-tête de l'API GNU regex (public) |
reggnu.c | Fonctions de l'API regex GNU |
onigposix.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 |
mktable.c | générateur de table de types de caractères |
ascii.c | Encodage ASCII |
euc_jp.c | Encodage EUC-JP |
euc_tw.c | Encodage EUC-TW |
euc_kr.c | Encodage EUC-KR, EUC-CN |
sjis.c | Encodage Shift_JIS |
big5.c | Encodage Big5 |
gb18030.c | Encodage GB18030 |
koi8.c | Encodage KOI8 |
koi8_r.c | Encodage KOI8-R |
cp1251.c | Encodage 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 (cyrillique) |
iso8859_6.c | ISO-8859-6 (arabe) |
iso8859_7.c | ISO-8859-7 (grec) |
iso8859_8.c | ISO-8859-8 (hébreu) |
iso8859_9.c | ISO-8859-9 (Latin-5 ou turc) |
iso8859_10.c | ISO-8859-10 (Latin-6 ou nordique) |
iso8859_11.c | ISO-8859-11 (thaïlandais) |
iso8859_13.c | ISO-8859-13 (Latin-7 ou Baltic Rim) |
iso8859_14.c | ISO-8859-14 (Latin-8 ou Celtique) |
iso8859_15.c | ISO-8859-15 (Latin-9 ou Europe occidentale avec euro) |
iso8859_16.c | ISO-8859-16 (Latin-10) |
utf8.c | Encodage UTF-8 |
utf16_be.c | Encodage UTF-16BE |
utf16_le.c | Encodage UTF-16LE |
utf32_be.c | Encodage UTF-32BE |
utf32_le.c | Encodage UTF-32LE |
unicode.c | codes courants de codage Unicode |
unicode_fold_data.c | Données de pliage Unicode |
windows/testc.c | Programme de test pour Windows (VC++) |