تعبير منتظم هو سلسلة من الأحرف التي تشكل نمط البحث.
نمط البحث يمكن استخدامها للبحث عن نص والنص محل العمليات.
ما هو تعبير منتظم؟
تعبير منتظم هو سلسلة من الأحرف التي تشكل نمط البحث.
عند البحث عن البيانات في النص، يمكنك استخدام هذا النمط البحث لوصف ما كنت تبحث عنه.
تعبير منتظمة يمكن أن يكون حرف واحد، أو نمطا أكثر تعقيدا.
التعابير العادية يمكن استخدامها لتنفيذ كافة أنواع البحث عن النص والنص استبدال العمليات.
بناء الجملة
/ pattern / modifiers ;
مثال
var patt = /w3ii/i;
وأوضح سبيل المثال:
/w3ii/i هو تعبير عادي.
w3ii هو نمط (لاستخدامها في البحث).
i هو معدل (تعديل البحث ليكون تحسس حالة الأحرف).
باستخدام طرق سلسلة
في جافا سكريبت، وغالبا ما تستخدم التعابير العادية مع سلسلة أساليب اثنين: search() و replace() .
و search() يستخدم أسلوب تعبير للبحث عن المباراة، وإرجاع موقف من المباراة.
ل replace() الأسلوب بإرجاع سلسلة معدلة حيث يتم استبدال نمط.
باستخدام سلسلة search() مع تعبير منتظم
مثال
استخدام تعبير منتظم للقيام حالة الأحرف البحث عن "w3ii" في سلسلة:
var str = "Visit w3ii";
var n = str.search(/w3ii/i);
وستكون النتيجة في ن يكون:
6
انها محاولة لنفسك » باستخدام سلسلة search() مع سلسلة
إن أسلوب البحث أيضا قبول سلسلة كوسيطة البحث. سيتم تحويل سيطة سلسلة إلى تعبير عادي:
مثال
استخدام سلسلة إلى القيام بالبحث عن "w3ii" في سلسلة:
var str = "Visit w3ii!";
var n = str.search("w3ii");
انها محاولة لنفسك » استخدام سلسلة replace() مع تعبير منتظم
مثال
استخدام حالة التعبير العادي حساسة ليحل محل Microsoft مع w3ii في سلسلة:
var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "w3ii");
وستكون النتيجة في الدقة على النحو التالي:
Visit w3ii!
انها محاولة لنفسك » باستخدام سلسلة replace() مع سلسلة
ل replace() والأسلوب أيضا قبول سلسلة كوسيطة البحث:
var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "w3ii");
انها محاولة لنفسك » هل لاحظت؟
الحجج التعبير العادية (بدلا من الحجج سلسلة) يمكن استخدامها في الطرق أعلاه.
يمكن التعابير العادية جعل البحث أكثر فعالية بكثير (قضية حساسة على سبيل المثال).
معدلات التعبير العادية
معدلات يمكن استخدامها لإجراء عمليات بحث أكثر عمومية قضية حساسة:
التعديل | وصف |
---|---|
i | أداء مطابقة حالة الأحرف |
g | أداء مباراة العالمية (إيجاد جميع المباريات بدلا من التوقف بعد المباراة الأولى) |
m | أداء مطابقة متعدد الأسطر |
أنماط التعبير العادية
يتم استخدام الأقواس لتجد مجموعة من الشخصيات:
التعبير | وصف |
---|---|
[abc] | العثور على أي من الأحرف بين الأقواس |
[0-9] | العثور على أي من الأرقام بين الأقواس |
(x|y) | العثور على أي من البدائل فصل مع | |
الأحرف الخاصة هي أحرف مع معنى خاص:
Metacharacter | وصف |
---|---|
\d | العثور على أرقام |
\s | العثور على حرف مسافة بيضاء |
\b | العثور على تطابق في بداية أو في نهاية الكلمة |
\uxxxx | العثور على حرف Unicode المحدد من قبل عدد عشري على XXXX |
محددو الكمية تحدد كميات:
محدد الكمية | وصف |
---|---|
n+ | يطابق أي السلسلة التي تحتوي ن واحد على الأقل |
n* | يطابق أي السلسلة التي تحتوي على صفر أو أكثر تكرارات ن |
n? | يطابق أي السلسلة التي تحتوي على صفر أو واحد الحوادث ن |
باستخدام كائن التعبير العادي
في جافا سكريبت، الكائن التعبير العادي هو كائن تعبير منتظم مع خصائص وأساليب محددة مسبقا.
باستخدام test()
في test() الأسلوب هو أسلوب التعبير التعبير العادي.
فهو يبحث سلسلة لنمط، ويعود صحيحة أو خاطئة، وهذا يتوقف على النتيجة.
يبحث المثال التالي سلسلة للحرف "e" :
مثال
var patt = /e/;
patt.test("The best things in life are free!");
منذ هناك "e" في السلسلة، والناتج من التعليمات البرمجية أعلاه سيكون:
true
انها محاولة لنفسك » لم يكن لديك لوضع التعبير العادي في متغير أولا. السطرين أعلاه يمكن اختصارها إلى واحد:
/e/.test("The best things in life are free!");
باستخدام exec()
و exec() الأسلوب هو أسلوب التعبير التعبير العادي.
فهو يبحث سلسلة لنمط محدد، وإرجاع النص الموجود.
إذا تم العثور على أي مباراة، وتعودفارغة.
يبحث المثال التالي سلسلة للحرف "e" :
مثال 1
/e/.exec("The best things in life are free!");
لأنه ليس هناك حرف "e" في السلسلة، والناتج من التعليمات البرمجية أعلاه سيكون:
e
انها محاولة لنفسك » إكمال التعبير العادي المرجعي
للإشارة كاملة، انتقل إلى لدينا كاملة جافا سكريبت التعبير العادي المرجعي .
المرجع يحتوي على أوصاف وأمثلة على كل خصائص التعبير العادي والأساليب.