g تعني المباراة العالمية
م يعني أنه يمكن مطابقة خطوط متعددة
أنا أرمز إلى المطابقة غير الحساسة لحالة الأحرف
^ يطابق بداية سلسلة الإدخال
$ يطابق نهاية سلسلة الإدخال
* يطابق التعبير الفرعي السابق صفرًا أو أكثر مما يعادل {0,}
+ يطابق التعبير الفرعي السابق مرة واحدة أو أكثر ويعادل {1,}
? يطابق التعبير الفرعي السابق صفر أو مرة واحدة أي ما يعادل [0,1} عندما يتبع هذا الحرف أي مؤهل آخر (*، +، ?، {n}، {n،}، {n، m})، المطابقة. النمط غير جشع. يطابق الوضع غير الجشع أقل قدر ممكن من السلسلة التي تم البحث عنها، بينما يطابق الوضع الجشع الافتراضي أكبر قدر ممكن من السلسلة التي تم البحث عنها. على سبيل المثال، بالنسبة للسلسلة "oooo"، فإن "o+؟" سوف يتطابق مع "o" واحد، في حين أن "o+" سيطابق كل "o's".
d يطابق حرفًا رقميًا.
D يطابق حرفًا غير رقمي.
w، يعادل "[A-Za-z0-9_]"
W يطابق أي حرف غير كلمة، أي ما يعادل "[^A-Za-z0-9]"
s يتطابق مع أي حرف مسافة بيضاء، بما في ذلك المسافات وعلامات التبويب وموجزات النماذج وما إلى ذلك. ويكافئ [fnrtv]
S يطابق أي حرف لا يحتوي على مسافة بيضاء يعادل [^frntv].
b يطابق حدود الكلمة، وهو الموضع بين الكلمة والمسافة.
B يطابق حدود غير الكلمات.
(النمط) يطابق النمط ويحصل على المطابقة. يمكن الحصول على المطابقات التي تم الحصول عليها من مجموعة Matches التي تم إنشاؤها، باستخدام مجموعة SubMatches في VBScript أو خصائص $0...$9 في JScript.
(؟:pattern) يطابق النمط ولكنه لا يحصل على نتيجة المطابقة، مما يعني أن هذه مطابقة غير اكتسابية ولا يتم تخزينها لاستخدامها لاحقًا. يكون هذا مفيدًا عند استخدام الحرف "أو" (|) لدمج أجزاء من النموذج. على سبيل المثال، يعد التعبير 'industr(?:y|ies) تعبيرًا أقصر من 'industry|industries'.
(؟=نمط) بحث أمامي، يطابق سلسلة البحث في بداية أي نمط مطابق للسلسلة. هذه مطابقة غير قابلة للجلب، أي أن المطابقة لا تحتاج إلى جلبها لاستخدامها لاحقًا. على سبيل المثال، يتطابق 'Windows (?=95|98|NT|2000)' مع "Windows" في "Windows 2000" ولكن ليس "Windows" في "Windows 3.1". لا يستهلك الجلب المسبق الأحرف، أي أنه بعد حدوث المطابقة، يبدأ البحث عن المطابقة التالية مباشرة بعد المطابقة الأخيرة، بدلاً من البدء بعد الحرف الذي يحتوي على الجلب المسبق.
(؟!نمط) يتطابق المظهر الأمامي السلبي مع سلسلة البحث في بداية أي سلسلة لا تتطابق مع النمط. يتطابق المظهر الأمامي السلبي مع سلسلة البحث في أي نقطة لا تتطابق فيها السلسلة مع النمط. هذه مطابقة غير قابلة للجلب، أي أن المطابقة لا تحتاج إلى جلبها لاستخدامها لاحقًا. على سبيل المثال، يمكن أن يتطابق 'Windows (؟!95|98|NT|2000)' مع "Windows" في "Windows 3.1"، ولكن ليس "Windows" في "Windows 2000". لا يستهلك الفحص المسبق الأحرف، أي أنه بعد حدوث المطابقة، يبدأ البحث عن المطابقة التالية مباشرة بعد المطابقة الأخيرة، بدلاً من البدء
في مطابقة 2-4
رموز برنامج
أحرف صينية بعد الأحرف التي تحتوي على الفحص المسبق.
/^[u4e00-u9fa5]{2,4}$/g;
رموز برنامج
الأحرف من 6 إلى 18 (الحروف والأرقام والشرطات السفلية).
/^ث{6,18}$/;
رمز البرنامج
/^[A-Za-z0-9_]$/;
مطابقة
رمز برنامج
علامة HTML
/<[^>]*>|</[^>]*>/gm;
رمز البرنامج
/</?[^>]+>/gm;
رمز برنامج
المسافات اليسرى واليمنى
/(^s*)|(s*$)/g;
ترتيب الأولوية (من الأعلى إلى الأدنى)
حرف الهروب
()،(؟:)،(؟=)،[] قوسين دائريين وأقواس مربعة
* , + , ? , {n} , {n,} , {n,m} مؤهل
^ ، [البخار:المحتوى]نبسب؛الوضع والنظام
|. تتطابق العملية "أو"
مع رمزين برنامجيين
متطابقين متتاليين
مفصولين بمسافات
/b([az]+) 1b/gim ;
في هذا المثال، التعبير الفرعي هو كل مصطلح بين القوسين.
يتكون التعبير الملتقط من حرف أبجدي واحد أو أكثر، كما هو محدد بواسطة '[az]+'.
الجزء الثاني من التعبير العادي هو إشارة إلى المطابقة الفرعية التي تم التقاطها مسبقًا، وهو التكرار الثاني للكلمة التي تطابقت مع التعبير الملحق.
يُستخدم '1' لتحديد أول تطابق فرعي. تضمن الأحرف الأولية لحدود الكلمات اكتشاف الكلمات الفردية فقط.
إذا لم يتم ذلك، فسيتم التعرف على عبارات مثل "تم إصدارها" أو "هذا" بشكل غير صحيح بواسطة التعبير.
رمز البرنامج
var ss = "هل ترتفع تكلفة البنزين؟. هل ترتفع تكلفة البنزين؟";
var re = /b([az]+) 1b/gim;
var rv = ss.replace(re,"$1");
document.write(rv) //الإخراج "هل ترتفع تكلفة البنزين؟. هل ترتفع تكلفة البنزين؟."
رمز البرنامج
/bCha/
يطابق الأحرف الثلاثة الأولى من كلمة "فصل" لأنها تظهر بعد حد الكلمة
رمز البرنامج
/terb/
يطابق 'ter' في الكلمة 'Chapter' لأنه يظهر قبل حد الكلمة
رمز البرنامج
/Bapt/
يطابق 'apt' لأنه يقع في منتصف 'الفصل'، ولكنه لا يطابق 'apt' في 'aptitude' لأنه يقع بعد حد الكلمة
*/
مطابقة
رمز برنامج
عنوان URL
/(w+)://([^/:]+)(:d*)?([^#]*)/
قم بتحليل URI التالي إلى بروتوكولات (ftp، http، إلخ)، اسم المجال العنوان والصفحة/المسار:
http://msdn.microsoft.com:80/scripting/default.htm
يتم استخدام التعبير الفرعي الإضافي الأول لالتقاط جزء البروتوكول من عنوان الويب. يتطابق هذا التعبير الفرعي مع أي كلمة مسبوقة بنقطتين وشرطتين مائلتين للأمام. يلتقط التعبير الفرعي الإضافي الثاني عنوان المجال الخاص بالعنوان. يطابق هذا التعبير الفرعي أي تسلسل أحرف لا يتضمن الأحرف '^' أو '/' أو ':'. يلتقط التعبير الفرعي الإضافي الثالث رقم منفذ موقع الويب، إذا تم تحديده. يتطابق هذا التعبير الفرعي مع صفر أو أكثر من الأرقام متبوعة بنقطتين. وأخيرًا، يلتقط التعبير الفرعي الإضافي الرابع المسار و/أو معلومات الصفحة المحددة بواسطة عنوان الويب. يطابق هذا التعبير الفرعي حرفًا واحدًا أو أكثر باستثناء "#" أو المسافات.
عند تطبيق التعبير العادي على URI الموضح أعلاه، تتضمن المطابقات الفرعية ما يلي:
يحتوي RegExp.$1 على "http"
RegExp.$2 يحتوي على "msdn.microsoft.com"
يحتوي RegExp.$3 على ":80"
RegExp.$4
الطريقةالأولى
التييحتوي على التعبير العادي "/scripting/default.htm"
.
تقوم طريقة الاختباربإرجاع قيمة منطقية تشير إلى ما إذا كان النمط موجودًا في السلسلة التي يتم البحث عنها
rgExp.test(str)
لم يتم تعديل خصائص كائن RegExp العمومي طريقة الاختبار
1
http://www.knowsky.com/
رمز البرنامج
فار url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
فار العلم=reg.test(url);
العلم // العودة صحيحا
RegExp.$1 //إرجاع "http"
RegExp.$2 //إرجاع "msdn.microsoft.com"
RegExp.$3 //إرجاع ":80"
$egExp.$4 //إرجاع "/scripting/default.html"
لا يمكن لطرق البحث ولا الاختبار تحديث كائن RegExp العمومي، لذلك يقوم RegExp.input وRegExp.index وRegExp.lastIndex بإرجاع رقم غير محدد
2. تستخدم طريقة المطابقة
نمط تعبير عادي لإجراء بحث على السلسلة وإرجاع النتيجة التي تحتوي على البحث كمصفوفة.
رمز البرنامج
stringObj.match(rgExp)
إذا لم تجد طريقة المطابقة تطابقًا، فستُرجع قيمة فارغة. إذا تم العثور على تطابق، فسيتم إرجاع مصفوفة ويتم تحديث خصائص كائن RegExp العمومي لتعكس التطابق.
يحتوي المصفوفة التي يتم إرجاعها بواسطة طريقة المطابقة على ثلاث سمات: الإدخال والفهرس وlastIndex.
تحتوي خاصية الإدخال على السلسلة بأكملها التي يتم البحث عنها.
تحتوي خاصية الفهرس على موضع السلسلة الفرعية المطابقة ضمن سلسلة البحث بأكملها.
تحتوي الخاصية LastIndex على الموضع بجوار الحرف الأخير في المطابقة الأخيرة.
إذا لم يتم تعيين العلامة العامة (g)، فإن العنصر 0 من المصفوفة يحتوي على المطابقة بأكملها، والعناصر من 1 إلى n تحتوي على أي مطابقات فرعية حدثت في المطابقة.
وهذا يعادل طريقة exec دون تعيين العلامة العامة. إذا تم تعيين العلم العالمي، فإن العناصر من 0 إلى n تحتوي على جميع التطابقات
example1 (لم يتم تعيين العلم العالمي)
رمز البرنامج
فار url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var myArray=url.match(reg);
RegExp.$1 //إرجاع "http"
RegExp.$2 //إرجاع "msdn.microsoft.com"
RegExp.$3 //إرجاع ":80"
$egExp.$4 //إرجاع "/scripting/default.html"
myArray //Return myArray[0]=" http://msdn.microsoft.com:80/scripting/default.html ",
myArray[1]="http"،myArray[2]="msdn.microsoft.com"،
myArray[3]=":80"،myArray[4]="/scripting/default.html"
myArray.input // إرجاع "http://msdn.microsoft.com:80/scripting/default.html"
myArray.index // العودة 0
myArray.lastIndex //الرجوع 51
المثال 2 (مجموعة الأعلام العالمية)
رمز البرنامج
فار url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/g;
var myArray=url.match(reg);
RegExp.$1 //إرجاع "http"
RegExp.$2 //إرجاع "msdn.microsoft.com"
RegExp.$3 //إرجاع ":80"
$egExp.$4 //إرجاع "/scripting/default.html"
myArray //إرجاع myArray =" http://msdn.microsoft.com:80/scripting/default.html "
myArray.input // إرجاع "http://msdn.microsoft.com:80/scripting/default.html"
myArray.index // العودة 0
myArray.lastIndex //الرجوع 51
لاحظ الفرق بعد ضبط العلم العالمي
إذا لم يتم تعيين العلامة العامة (g)، فإن العنصر 0 من المصفوفة يحتوي على المطابقة بأكملها، والعناصر من 1 إلى n تحتوي على أي مطابقات فرعية حدثت في المطابقة.
وهذا يعادل طريقة exec دون تعيين العلامة العامة. إذا تم تعيين العلامة العامة، فإن العناصر من 0 إلى n تحتوي على جميع التطابقات
3. تقوم الطريقة exex
بإجراء بحث على سلسلة باستخدام نمط التعبير العادي وإرجاع مصفوفة تحتوي على نتائج البحث.
رمز البرنامج
rgExp.exec(شارع)
إذا لم يجد الأسلوب exec تطابقًا، فإنه يُرجع قيمة فارغة.
إذا وجد تطابقًا، يقوم التابع exec بإرجاع مصفوفة ويتم تحديث خصائص كائن RegExp العام لتعكس التطابق.
يحتوي العنصر 0 من المصفوفة على التطابق الكامل، بينما تحتوي العناصر من 1 إلى n على أي مطابقات فرعية تحدث في المطابقة.
وهذا يعادل طريقة المطابقة دون تعيين العلم العالمي (g).
إذا تم تعيين العلامة العامة للتعبير العادي، فسيبدأ exec في النظر إلى الموضع المشار إليه بقيمة lastIndex.
إذا لم يتم تعيين العلامة العامة، فسيتجاهل exec قيمة lastIndex ويبحث من بداية السلسلة.
يحتوي المصفوفة التي يتم إرجاعها بواسطة الأسلوب exec على ثلاث سمات، وهي الإدخال والفهرس وlastIndex.
تحتوي خاصية الإدخال على السلسلة بأكملها التي يتم البحث عنها.
تحتوي سمة الفهرس على موضع السلسلة الفرعية المطابقة في السلسلة التي تم البحث عنها بالكامل.
تحتوي الخاصية LastIndex على الموضع التالي للحرف الأخير في المباراة.
example1 (لم يتم تعيين علامة عالمية)
رمز البرنامج
فار url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var myArray=reg.exec(url);
RegExp.$1 //إرجاع "http"
RegExp.$2 //إرجاع "msdn.microsoft.com"
RegExp.$3 //إرجاع ":80"
$egExp.$4 //إرجاع "/scripting/default.html"
myArray //Return myArray[0]=" http://msdn.microsoft.com:80/scripting/default.html ",
myArray[1]="http"،myArray[2]="msdn.microsoft.com"،
myArray[3]=":80"،myArray[4]="/scripting/default.html"
myArray.input // إرجاع "http://msdn.microsoft.com:80/scripting/default.html"
myArray.index // العودة 0
myArray.lastIndex //الرجوع 51
عندما لا يتم تعيين العلامة العامة (g)، تكون طريقة المطابقة هي نفس طريقة exec
المثال 2 (تعيين العلم العالمي)
رمز البرنامج
فار url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var myArray=reg.exec(url);
RegExp.$1 //إرجاع "http"
RegExp.$2 //إرجاع "msdn.microsoft.com"
RegExp.$3 //إرجاع ":80"
$egExp.$4 //إرجاع "/scripting/default.html"
myArray //Return myArray[0]=" http://msdn.microsoft.com:80/scripting/default.html ",
myArray[1]="http"،myArray[2]="msdn.microsoft.com"،
myArray[3]=":80"،myArray[4]="/scripting/default.html"
myArray.input // إرجاع "http://msdn.microsoft.com:80/scripting/default.html"
myArray.index // العودة 0
myArray.lastIndex //الرجوع 51
4 تقوم طريقة البحث
بإرجاع موضع السلسلة الفرعية الأولى التي تطابق محتوى بحث التعبير العادي.
رمز البرنامج
stringOjb.search(rgExp)
تشير طريقة البحث إلى ما إذا كان هناك تطابق مطابق.
إذا تم العثور على تطابق، تقوم طريقة البحث بإرجاع قيمة عددية تشير إلى إزاحة المطابقة من بداية السلسلة.
إذا لم يتم العثور على أي تطابق، فسيتم إرجاع -1.
مثال1
رمز البرنامج
فار url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
فار العلم=url.search(reg);
العلم // العودة 0
RegExp.$1 //إرجاع "http"
RegExp.$2 //إرجاع "msdn.microsoft.com"
RegExp.$3 //إرجاع ":80"
$egExp.$4 //إرجاع "/scripting/default.html"
لا يمكن لطرق البحث أو الاختبار تحديث كائن RegExp العمومي، لذلك يُرجع RegExp.input وRegExp.index وRegExp.lastIndex غير محدد
5 تقوم طريقة الاستبدال
بإرجاع نسخة من السلسلة بعد استبدال النص بناءً على التعبير العادي ويمكنها
تحديث كائن RegExp العام.