https://github.com/kkos/oniguruma
Oniguruma هي مكتبة تعبيرات عادية حديثة ومرنة. وهو يشمل ميزات من تطبيقات التعبير العادي المختلفة التي توجد تقليديًا في لغات مختلفة.
يمكن تحديد ترميز الأحرف لكل كائن تعبير عادي.
ترميزات الأحرف المدعومة:
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، إسو-8859-1، إسو-8859-2، إسو-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
عند استخدام البرنامج النصي للتكوين، إذا تم تمكين POSIX API في إصدار سابق (معطل افتراضيًا في 6.9.5) وتحتاج إلى التوافق الثنائي للتطبيق مع POSIX API، فحدد "--enable-binary-compatible-posix-api= نعم" بدلاً من "--enable-posix-api=yes". بدءًا من الإصدار 6.9.6، يدعم "--enable-posix-api=yes" فقط التوافق على مستوى المصدر للإصدار 6.9.5 والإصدارات الأقدم حول POSIX API. (العدد رقم 210)
رخصة بي إس دي.
dnf install oniguruma-devel
yum install oniguruma
apt install libonig5
pacman -S oniguruma
zypper install oniguruma
autoreconf -vfi (* الحالة: لم يتم العثور على البرنامج النصي للتكوين.)
./تكوين
يصنع
قم بالتثبيت
إلغاء التثبيت
قم بإلغاء التثبيت
فحص التكوين
onig-config --cflags onig-config --libs onig-config --بادئة onig-config --exec-بادئة
بناء مكتبة
.make_win.bat
onig_s.lib: مكتبة الارتباط الثابتة onig.dll: مكتبة الارتباط الديناميكي
جعل برامج الاختبار
.make_win.bat كل الاختبار
وبدلاً من ذلك، يمكنك إنشاء oniguruma وتثبيته باستخدام مدير التبعيات vcpkg:
يتم تحديث منفذ oniguruma في vcpkg بواسطة أعضاء فريق Microsoft والمساهمين في المجتمع. إذا كان الإصدار قديمًا، فيرجى إنشاء مشكلة أو سحب طلب على مستودع vcpkg.
راجع doc/RE أو doc/RE.ja للغة اليابانية.
قم بتضمين oniguruma.h في برنامجك. (واجهة برمجة تطبيقات Oniguruma) راجع doc/API للتعرف على واجهة برمجة تطبيقات Oniguruma.
إذا كنت تريد تعطيل تعريف نوع UChar (== حرف غير موقع) في oniguruma.h، فحدد ONIG_ESCAPE_UCHAR_COLLISION ثم قم بتضمين oniguruma.h.
إذا كنت تريد تعطيل تعريف نوع regex_t في oniguruma.h، فحدد ONIG_ESCAPE_REGEX_T_COLLISION ثم قم بتضمين oniguruma.h.
مثال على سطر الأوامر التجميعي/الربط في Unix أو Cygwin، (البادئة == /usr/local case)
cc sample.c -L/usr/local/lib -lonig
إذا كنت تريد استخدام مكتبة الارتباط الثابت (onig_s.lib) في Win32، أضف الخيار -DONIG_EXTERN=extern إلى برنامج التحويل البرمجي C.
ملف | وصف |
---|---|
عينة/وسيلة الشرح.ج | مثال على وسائل الشرح |
عينة / عدد ج | مثال على وسيلة الشرح المضمنة *COUNT |
عينة/echo.c | مثال على وسائل شرح الاسم التي يحددها المستخدم |
عينة/تشفير.c | مثال على بعض الترميزات |
عينة/listcap.c | مثال على تاريخ الالتقاط |
عينة/أسماء.ج | مثال على رد اتصال المجموعة المسماة |
عينة/posix.c | عينة POSIX API |
عينة/regset.c | مثال على استخدام RegSet API |
عينة / المسح الضوئي. ج | مثال على استخدام onig_scan() |
عينة/بسيطة.ج | مثال على الحد الأدنى (Oniguruma API) |
عينة / sql.c | مثال على أحرف التعريف المتغيرة |
عينة/user_property.c | مثال على خاصية Unicode المعرفة من قبل المستخدم |
برامج الاختبار
ملف | وصف |
---|---|
عينة/بناء الجملة.ج | اختبار بناء جملة Perl وJava وASIS. |
عينة/crnl.c | --enable-crnl-as-line-terminator test |
ملف | وصف |
---|---|
oniguruma.h | ملف رأس Oniguruma API (عام) |
onig-config.in | قالب برنامج فحص التكوين |
ريجينك.ح | ملف رأس إطار ترميز الأحرف |
regint.h | تعريفات داخلية |
regparse.h | التعريفات الداخلية لـ regparse.c وregcomp.c |
regcomp.c | وظائف التجميع والتحسين |
regenc.c | إطار ترميز الأحرف |
regerror.c | وظيفة رسالة الخطأ |
regext.c | وظائف API الموسعة (إصدار فاخر API) |
regexec.c | وظائف البحث والمطابقة |
regparse.c | وظائف التحليل. |
regsyntax.c | وظائف بناء الجملة وتعريفات بناء الجملة المضمنة |
regtrav.c | التقاط وظائف اجتياز بيانات شجرة التاريخ |
regversion.c | وظيفة معلومات الإصدار |
ش | ملف رأس وظائف جدول التجزئة |
st.c | وظائف جدول التجزئة |
onignnu.h | ملف رأس GNU regex API (عام) |
reggnu.c | وظائف GNU regex API |
onigposix.h | ملف رأس POSIX API (عام) |
regposerr.c | وظيفة رسالة الخطأ POSIX |
regposix.c | وظائف واجهة برمجة تطبيقات POSIX |
mktable.c | مولد جدول نوع الحرف |
ascii.c | ترميز ASCII |
euc_jp.c | ترميز EUC-JP |
euc_tw.c | ترميز EUC-TW |
euc_kr.c | ترميز EUC-KR، ترميز EUC-CN |
sjis.c | ترميز Shift_JIS |
big5.c | ترميز Big5 |
gb18030.c | ترميز GB18030 |
koi8.c | ترميز KOI8 |
koi8_r.c | ترميز KOI8-R |
cp1251.c | ترميز CP1251 |
iso8859_1.c | ISO-8859-1 (لاتيني-1) |
iso8859_2.c | ISO-8859-2 (لاتينية-2) |
iso8859_3.c | ISO-8859-3 (لاتيني-3) |
iso8859_4.c | ISO-8859-4 (لاتيني-4) |
iso8859_5.c | ISO-8859-5 (السيريلية) |
iso8859_6.c | ISO-8859-6 (العربية) |
iso8859_7.c | ISO-8859-7 (يوناني) |
iso8859_8.c | ISO-8859-8 (بالعبرية) |
iso8859_9.c | ISO-8859-9 (لاتيني-5 أو تركي) |
iso8859_10.c | ISO-8859-10 (لاتيني-6 أو شمالي) |
iso8859_11.c | ISO-8859-11 (التايلاندية) |
iso8859_13.c | ISO-8859-13 (Latin-7 أو حافة البلطيق) |
iso8859_14.c | ISO-8859-14 (لاتيني 8 أو سلتيك) |
iso8859_15.c | ISO-8859-15 (لاتينية-9 أو أوروبا الغربية مع اليورو) |
iso8859_16.c | ISO-8859-16 (لاتيني-10) |
utf8.c | ترميز UTF-8 |
utf16_be.c | ترميز UTF-16BE |
utf16_le.c | ترميز UTF-16LE |
utf32_be.c | ترميز UTF-32BE |
utf32_le.c | ترميز UTF-32LE |
unicode.c | الرموز الشائعة لترميز Unicode |
unicode_fold_data.c | بيانات قابلة للطي Unicode |
ويندوز/testc.c | برنامج اختبار لنظام التشغيل Windows (VC++) |