English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مفهوم JavaScript RegExp (RegExp)

التعبيرات النمطية هي سلسلة من الأحرف التي تشكل نمط البحث.

عند البحث عن بيانات في النص، يمكنك استخدام هذا النمط للبحث لوصف المحتوى الذي تريد البحث عنه.

التعبيرات النمطية يمكن أن تكون حرفًا واحدًا أو نمطًا أكثر تعقيدًا.

عبارة النص

عبارة النص هي عنصر يصف نمط الأحرف.

RegExp يؤدي بناء النموذج إلى إنشاء عنصرRegExp لتنسيق النص بالتعريف النصي.

النحو:
new RegExp(pattern, modifiers);

أو ببساطة

/pattern/modifiers;
var regex = /w3codebox/g

شرح المثال:

  • w3codeboxهي نموذج (للبحث)

  • gهي مزويات (تنفيذ البحث الكامل)

يمكنك العثور علىفي تعليمات JavaScript RegExpللحصول على معلومات أكثر حول تعبيرات النص

مزويات

تستخدم المزويات للتنفيذ في البحث الكامل، التمييز بين الحروف الكبيرة والصغيرة والبحث في الصفوف المتعددة:

مزوياتالوصف
gالتنفيذ الكامل، أي البحث في جميع التطابقات وليس التوقف عند التطابق الأول
iالتنفيذ غير الحساس بالحروف الكبيرة والصغيرة
mالبدyla للتنفيذ في الصفوف المتعددة

البدyla

استخدام البدyla لتحديد سلسلة من الأحرف:

تعبيرالوصف
[abc]مطابقة أي حرف في الأقواس
[^abc]مطابقة أي حرف غير بين الأقواس
[0-9]مطابقة أي رقم بين الأقواس
[^0-9]مطابقة أي حرف غير بين الأقواس (أي حرف غير رقمي)
(x|y)مطابقة أي بديل معين

حروف النص

حرف النص هو حرف واحد يتبعه backslash لجعل التكوين يحمل معنى خاص:

حروف النصالوصف
.مطابقة أي حرف غير newline\n
\wمطابقة حرف وعدد [0-9a-zA-Z]
\Wمطابقة غير حرف وعدد
\dمطابقة رقم[0-9]
\Dمطابقة غير رقم[^0-9]
\sمطابقة فراغ من مسافات، newline وindentations
\Sمطابقة غير فراغ من مسافات، newline وindentations
\bإيجاد تطابق في بداية/نهاية الكلمة
\Bمطابقة أي شيء ليس في بداية/نهاية الكلمة
\0مطابقة حرف NUL
\nمطابقة newline
\fمطابقة page break
\rمطابقة newline
\tمطابقة tab
\vمطابقة tab الرأسي
\xxxمطابقة حرف تميزه برقم ثمانيxxx
\xddمطابقة حرف تميزه برقم هشريdd
\uxxxxمطابقة حرف يونيكي وتميزه برقم هشريxxxx

مصطلحات الكمية

يمكن تمثيل تردد أو موقع سلسلة من رموز البدyla أو حرف واحد باستخدام رموز خاصة:

مصطلحات الكميةالوصف
z+مطابقة أي شيء يحتوي على على الأقل واحدzالسلسلة
z*مطابقة أي شيء يحتوي على صفر أو أكثرzالسلسلة
z?مطابقة أي شيء يحتوي على صفر أو واحدzالسلسلة
z{X}مطابقة سلسلة تحتوي على X من z
z{X,Y}مطابقة سلسلة تحتوي على X إلى Y من z
z{X,}توافق السلسلة النصية التي تحتوي على سلسلة نصية معينة على الأقل
z$توافق أي سلسلة نصية تبدأ بهاzتوافق أي سلسلة نصية تنتهي بها
^zتوافق أي سلسلة نصية تبدأ بهاzتوافق السلسلة النصية التي تبدأ بها
?=zتوافق السلسلة النصية التي تليها سلسلة نصية معينةzأي سلسلة نصية
?!zتوافق أي سلسلة نصية تليها سلسلة نصية معينةzالسلسلة

خصائص RegExp

الجدول أدناه يعرض خاصيات RegExp

الخصائصالوصف
constructorتقديم الدالة التي تخلق نموذج RegExp
globalالتحقق من إعداد التعديل 'g'
ignoreCaseالتحقق من إعداد التعديل 'i'
lastIndexالإندرجاد التالي للتوافق
multilineالتحقق من إعداد التعديل 'm'
sourceتقديم النص النموذجي للنمط RegExp

طرق RegExp

الجدول أدناه يعرض طرق RegExp

الطريقةالوصف
exec()البحث عن تطابق في معرفة السلسلة النصية
test()التحقق من تطابق معرفة السلسلة النصية وتقديم قيمة بولية
toString()العودة إلى التعبير النصي الخاص بالعنصر المحدد