في الماضي ، نادراً ما تستخدم JS التعبير العادي.
في الآونة الأخيرة ، واجهت بعض التعبيرات العادية التي تحتاج إلى استخدامها ، والدراسة بالمناسبة
هناك طريقتان تعريف لكائنات التعبير العادية ::
1. التعريف الأول:
regexp جديد (نمط ، سمات) ؛
من بينها ، النمط هو محتوى التعبير عن التعبير ، كما لو أن ما سبق يظهر ABC
السمات: G ، المطابقة العالمية ، أنا لا أميز بين الحالة الصغيرة والسفلية ، M ينفذ المطابقة متعددة الخطوط ، ومعظم استخدامات G و i
2. التعريف الثاني:/نمط/سمات.
مثل: var reg = /abc /g ؛
لم تعد هناك توضيح بعض القواعد المعبر عنها في التعبير المنتظم هنا ، فقط الفرق بين EXEC والمطابقة:
1. EXEC هي طريقة للتعبير العادي ، وليس طريقة سلسلة.
كتعريف أعلاه
var reg = new regexp ("ABC") ؛
var str = "3ABC4 ، 5ABC6" ؛
reg.exec (str) ؛
2. المطابقة هي طريقة للسلسلة لإجراء قواعد التعبير العادية.
var reg = new regexp ("ABC") ؛
var str = "3ABC4 ، 5ABC6" ؛
Str.Match (EG) ؛
3. Exec و Match Return هي صفائف ؛
إذا كان التعبير العادي الذي تم تنفيذه بواسطة EXEC لا يحتوي على تعبير فرعي (محتوى بين الأقواس الصغيرة ، مثل/s*)/(/s*)/(/s*) ، إذا كانت هناك تطابق ، فأرجع إلى محتوى سلسلة المطابقة الأولى المحتوى ، لا يوجد سوى عنصر واحد في هذا الوقت ، إن لم يكن مطابقين وعاد إلى فارغ ؛
var reg = new regexp ("ABC") ؛
var str = "3ABC4 ، 5ABC6" ؛
تنبيه (reg.exec (str)) ؛
تنبيه (str.match (reg)) ؛
تنفيذ نفس الرمز ، ستجد أن محتوى الاثنين هو نفسه: ABC ،
4. إذا تم تعريف كائن التعبير العادي على أنه مطابقة عالمية ، على النحو التالي:
var reg = new regexp ("ABC" ، "G") ؛
var str = "3ABC4 ، 5ABC6" ؛
تنبيه (reg.exec (str)) ؛
تنبيه (str.match (reg)) ؛
بالنسبة إلى ABC و ABC ، لأن المباراة تؤدي إلى استفسار المطابقة العالمية ؛
5. عندما يعني أن التعبير الفرعي موجود في:
var reg = new regexp ("a (bc)") ؛
var str = "3ABC4 ، 5ABC6" ؛
تنبيه (reg.exec (str)) ؛
تنبيه (str.match (reg)) ؛
ستجد أن نتائج التنفيذ هي: ABC ، BC ؛
6. عندما يتم تعريف كائن التعبير العادي على أنه تطابق عالمي
var reg = new regexp ("a (bc)" ، "g") ؛
var str = "3ABC4 ، 5ABC6" ؛
تنبيه (reg.exec (str)) ؛
تنبيه (str.match (reg)) ؛
نتيجة الاثنين العائدين هي ABC و BC و ABC و ABC ،
ملخص على النحو التالي:
1. عندما لا يكون للتعبير العادي أي تعبير فرعي ، ويتم تعريفه على أنه مطابقة غير غلوبال ، فإن نتائج EXEC والمطابقة هي نفسها ، ويتم إرجاع محتوى سلسلة المطابقة الأول ؛
2. عندما لا يكون للتعبير العادي أي تعبير فرعي ، ويتم تعريفه على أنه مطابقة عالمية ، EXEC و MATCT EXECUTE ، وهناك محتويات مطابقة متعددة ، ثم تُرجع المباراة صفائف عنصرية متعددة ؛
3. عندما يتم تمثيل التعبير العادي ، ويتم تعريفه على أنه مطابقة غير فولي ، فإن نتائج تنفيذ EXEC والمطابقة هي نفسها أعلاه ؛
4. عندما يتم تمثيل التعبير العادي ، وتعريفه على أنه تطابق عالمي ، فإن نتائج EXEC والمطابقة مختلفة. ، على النحو أعلاه ، 6 ، 6 ، 6 ، 6 ، 6 ، 6th.
وهذا يعني ، ما إذا كان EXEC محدد من خلال الموقف العام غير مرتبط ، وترتبط المباراة بالوضع العام.