fix(guide): simplify directory structure

This commit is contained in:
Mrugesh Mohapatra
2018-10-16 21:26:13 +05:30
parent f989c28c52
commit da0df12ab7
35752 changed files with 0 additions and 317652 deletions

View File

@@ -0,0 +1,9 @@
---
title: Check for All or None
localeTitle: تحقق من الكل أو لا شيء
---
## تحقق من الكل أو لا شيء
هذا هو كعب. [ساعد مجتمعنا على توسيعه](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/regular-expressions/check-for-all-or-none/index.md) .
[سيساعدك دليل النمط السريع هذا على ضمان قبول طلب السحب](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,24 @@
---
title: Extract Matches
localeTitle: استخراج مباريات
---
## استخراج مباريات
باستخدام طريقة `match()` ، يمكنك استخراج أجزاء من سلسلة تتطابق مع تعبيرك العادي. في هذا التحدي ، أنت تقوم باستخراج كلمة "ترميز" من السلسلة المقدمة.
## تلميح 1:
قم بتغيير التعبير العادي الخاص بك لاكتشاف كلمة "الترميز".
## تلميح 2:
هل قمت باستدعاء طريقة `match()` على السلسلة؟
## تنبيه المفسد - الحل إلى الأمام!
## حل:
`let extractStr = "Extract the word 'coding' from this string.";
let codingRegex = /coding/;
let result = extractStr.match(codingRegex);
`

View File

@@ -0,0 +1,16 @@
---
title: Find Characters with Lazy Matching
localeTitle: العثور على شخصيات مع مطابقة كسول
---
## العثور على شخصيات مع مطابقة كسول
#### تحدي دبي:
أصلح regex `/<.*>/` لإرجاع علامة HTML `<h1>` وليس النص `<h1>Winter is coming</h1>` . تذكر حرف البدل. في التعبير العادي يطابق أي حرف.
#### حل:
`let text = "<h1>Winter is coming</h1>";
let myRegex = /<h1>?/; // it's the answer!
let result = text.match(myRegex);
`

View File

@@ -0,0 +1,24 @@
---
title: Find More Than the First Match
localeTitle: العثور على أكثر من المباراة الأولى
---
## العثور على أكثر من المباراة الأولى
إذا كان لديك مرات متعددة للتعبير العادي الخاص بك داخل سلسلة ، يمكنك الحصول على وظيفة `match()` لاكتشافها كلها. ببساطة علامة على طول العلم `g` في نهاية regex الخاص بك! هذا ما تفعله في هذا التحدي.
## تلميح 1:
تغيير التعبير العادي بحيث يكتشف كلمة "توينكل".
## تلميح 2:
يمكنك إضافة علامات متعددة إلى تعبير عادي! على سبيل المثال ، يمكن تنظيم تعبير عادي يكتشف تكرارات متعددة ، ويكتشف بغض النظر عن الحالة ، مثل `gi` أو `ig` .
## تنبيه المفسد - الحل إلى الأمام!
## حل
`let twinkleStar = "Twinkle, twinkle, little star";
let starRegex = /twinkle/gi;
let result = twinkleStar.match(starRegex);
`

View File

@@ -0,0 +1,37 @@
---
title: Find One or More Criminals in a Hunt
localeTitle: العثور على واحد أو أكثر من المجرمين في مطاردة
---
## العثور على واحد أو أكثر من المجرمين في مطاردة
## المشكلة
هربت مجموعة من المجرمين من السجن وهربت ، لكنك لا تعرف عددهم. ومع ذلك ، فأنت تعرف أنها تبقى قريبة من بعضها البعض عندما تكون حول أشخاص آخرين. أنت مسؤول عن العثور على جميع المجرمين في وقت واحد.
اكتب regex الجشع أن يجد واحد أو أكثر من المجرمين داخل مجموعة من الناس الآخرين. يمثل المجرم بحرف كبير.
### تلميح 1:
هل أنت محاطا بك regexp في مائلة؟
`let regexp = /t.[az]*t/;
`
### تلميح 2:
هل تستخدم علامة "+" في تعبيرك العادي؟
`let regexp = /E+/; // returns E, EE, EEE patterns
`
### تحذير المفسد - الحل إلى الأمام
## حل
`let crowd = 'P1P2P3P4P5P6CCCP7P8P9';
let reCriminals = /C+/; // Change this line
let matchedCriminals = crowd.match(reCriminals);
console.log(matchedCriminals);
`

View File

@@ -0,0 +1,20 @@
---
title: Ignore Case While Matching
localeTitle: تجاهل حالة أثناء المطابقة
---
## تجاهل حالة أثناء المطابقة
عند إنشاء تعبير عادي ، قد ترغب في مطابقة أجزاء من سلسلة متشابهة في التهجئة ، ولكنها مختلفة في الحالة. للقيام بذلك ، يمكنك إضافة علامة `i` إلى نهاية regex. في هذا التحدي ، أنت تفعل ذلك بالضبط.
## تلميح 1:
قم بتعديل regex بحيث يكشف "freeCodeCamp" و "FREECODECAMP" و "FrEeCoDeCaMp". ربما باستخدام العلم `i` قد يساعد؟
## تنبيه المفسد - الحل إلى الأمام!
## حل
`let myString = "freeCodeCamp";
let fccRegex = /freeCodeCamp/i;
let result = fccRegex.test(myString);
`

View File

@@ -0,0 +1,11 @@
---
title: Regular Expressions
localeTitle: التعبيرات العادية
---
## التعبيرات العادية
هذا هو كعب. [ساعد مجتمعنا على توسيعه](https://github.com/freecodecamp/guides/tree/master/src/pages/mathematics/quadratic-equations/index.md) .
[سيساعدك دليل النمط السريع هذا على ضمان قبول طلب السحب](https://github.com/freecodecamp/guides/blob/master/README.md) .
#### معلومات اكثر:

View File

@@ -0,0 +1,20 @@
---
title: Match a Literal String with Different Possibilities
localeTitle: تطابق سلسلة حرفية مع الاحتمالات المختلفة
---
## تطابق سلسلة حرفية مع الاحتمالات المختلفة
لنفترض أنك تريد مطابقة العديد من الكلمات المختلفة مع تعبيرك المعتاد ؛ باستخدام `|` الرمز ، يصبح ذلك ممكنا. في هذا التحدي ، كنت تستخدم هذا الرمز لتحديد أربعة حيوانات أليفة مختلفة مخبأة داخل السلاسل!
## تلميح 1:
داخل السلسلة الحرفية ، ضع أسماء الحيوانات الأليفة ، كل منها مفصولة بواسطة `|` رمز.
## تنبيه المفسد - الحل إلى الأمام!
## حل:
`let petString = "James has a pet cat.";
let petRegex = /dog|cat|bird|fish/;
let result = petRegex.test(petString);
`

View File

@@ -0,0 +1,13 @@
---
title: Match All Letters and Numbers
localeTitle: المباراة جميع الحروف والأرقام
---
المشكلة استخدم class \\ w حرف الاختصار لحساب عدد الأحرف الأبجدية الرقمية في علامات الاقتباس والسلاسل المختلفة.
حل let quoteSample = "معالجات الملاكمة الخمسة تقفز بسرعة."؛ اترك alphabetRegexV2 = / \\ w / gi؛ // قم بتغيير هذا الخط دع النتيجة = quoteSample.match (alphabetRegexV2) .length؛
## المباراة جميع الحروف والأرقام
هذا هو كعب. [ساعد مجتمعنا على توسيعه](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/regular-expressions/match-all-letters-and-numbers/index.md) .
[سيساعدك دليل النمط السريع هذا على ضمان قبول طلب السحب](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,24 @@
---
title: Match All Non-Numbers
localeTitle: المباراة جميع غير الارقام
---
## المباراة جميع غير الارقام
## تلميح 1
* يجب أن تجرب استخدام العلم العالمي.
## تلميح 2
* جرب استخدام حرف الاختصار للأحرف غير أرقام.
# تنبيه المفسد! الحل قبل
## حل
`let noNumRegex = /\D/g;
`
## تفسير
* يتم استخدام الحرف الاختزال `\D` لمطابقة أحرف غير أرقام ، فإنه يحتوي على نفس النتيجة عند استخدام `[^0-9]` ؛

View File

@@ -0,0 +1,24 @@
---
title: Match All Numbers
localeTitle: تطابق جميع الأرقام
---
## تطابق جميع الأرقام
## تلميح 1
* علمًا عالميًا سيساعدك على مواجهة هذا التحدي.
## تلميح 2
* حاول استخدام حرف الاختصار لـ `d` igits.
# تنبيه المفسد! الحل قبل
## حل
`let numRegex = /\d/g;
`
## تفسير
* الحرف الاختصار `\d` هو اختصار لـ `[0-9]` ، فإنه يبحث عن أي رقم بين 0 و 9.

View File

@@ -0,0 +1,24 @@
---
title: Match Anything with Wildcard Period
localeTitle: تطابق أي شيء مع فترة أحرف البدل
---
## تطابق أي شيء مع فترة أحرف البدل
## تلميح 1:
النقطة `.` هو المفتاح في هذا التحدي.
## تلميح 2:
يجب عليك وضع النقطة على الموضع الصحيح.
## حل
`let exampleStr = "Let's have fun with regular expressions!";
let unRegex = /.un/; // Change this line
let result = unRegex.test(exampleStr);
`
## كسبلايناتيون
الفترة `.` سيكون أي حرف واحد حتى سلاسل "تشغيل" ، "الشمس" ، "متعة" و "لعبة الكلمات" لديهم نفس أون charaters.

View File

@@ -0,0 +1,30 @@
---
title: Match Beginning String Patterns
localeTitle: مباراة بداية أنماط سلسلة
---
## مباراة بداية أنماط سلسلة
## المشكلة
استخدم حرف الإقحام في تعبير منطقي للبحث عن "Cal" فقط في بداية السلسلة rickyAndCal.
### تلميح 1:
جرِّب محيطك المعتاد بالأشرطة المائلة
`let testExp = /^test/;
// returns true or false depending on whether test is found in the beginning of the string
`
### تلميح 2:
حاول استخدام علامة الحرف '^' خارج الأقواس كما هو موضح في المثال أعلاه
### تنبيه المفسد - الحل إلى الأمام
## حل
`let rickyAndCal = "Cal and Ricky both like racing.";
let calRegex = /^Cal/; // Change this line
let result = calRegex.test(rickyAndCal);
`

View File

@@ -0,0 +1,9 @@
---
title: Match Characters that Occur One or More Times
localeTitle: مطابقة الأحرف التي تحدث مرة واحدة أو أكثر
---
## مطابقة الأحرف التي تحدث مرة واحدة أو أكثر
\## المشكلة: تريد البحث عن تطابقات عندما يحدث الحرف s مرة أو أكثر في "Mississippi". اكتب regex يستخدم علامة +. ## الحل
let hardSpelling = "Mississippi"؛ السماح لـ myRegex = / s + / g؛ // هذا هو الحل اسمح للنتيجة = hardSpelling.match (myRegex)؛

View File

@@ -0,0 +1,27 @@
---
title: Match Characters that Occur Zero or More Times
localeTitle: مطابقة الأحرف التي تحدث Zero أو أوقات إضافية
---
## مطابقة الأحرف التي تحدث Zero أو أوقات إضافية
لا يجب أن يحدث أي حرف في تعبير regex يتبعه `*` في السلسلة التي تم اختبارها ، في حين يجب أن يظهر أي حرف في تعبير regex متبوعًا بـ `+` في سلسلة واحدة على الأقل ، كما هو موضح أدناه ،
`let phrase = "ba humbug";
let regexPlus = /bah+/;
let regexStar = /bah*/;
regexPlus.test(phrase); // returns false
regexStar.test(phrase); // returns true
`
كلاهما يسمحان بأي عدد من الأحداث من نفس الحرف في صف ، على سبيل المثال ،
`let phrase = "wooooow look at that!";
let regexPlus = /wo+w/;
let regexStar = /wo*w/;
regexPlus.test(phrase); // returns true
regexStar.test(phrase); // returns true
`

View File

@@ -0,0 +1,9 @@
---
title: Match Ending String Patterns
localeTitle: تطابق نهاية أنماط سلسلة
---
## تطابق نهاية أنماط سلسلة
هذا هو كعب. [ساعد مجتمعنا على توسيعه](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/regular-expressions/match-ending-string-patterns/index.md) .
[سيساعدك دليل النمط السريع هذا على ضمان قبول طلب السحب](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,9 @@
---
title: Match Everything But Letters and Numbers
localeTitle: تطابق كل شيء لكن الحروف والأرقام
---
## تطابق كل شيء لكن الحروف والأرقام
هذا هو كعب. [ساعد مجتمعنا على توسيعه](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/regular-expressions/match-everything-but-letters-and-numbers/index.md) .
[سيساعدك دليل النمط السريع هذا على ضمان قبول طلب السحب](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,24 @@
---
title: Match Letters of the Alphabet
localeTitle: تطابق حروف الأبجدية
---
## تطابق حروف الأبجدية
في هذا التحدي ، يُطلب منك مطابقة جميع حروف الأبجدية داخل سلسلة معينة. لا تقوم فقط بمطابقة / البحث عن هذه الأحرف ، ولكن يُطلب منك استخراجها.
### تلميح 1:
تذكر أنك مطالب لاستخراج الأحرف من السلسلة - وهذا لا يمكن القيام به باستخدام طريقة .test () لأنه يقوم بإرجاع True أو False. في هذه الحالة ، نحتاج إلى استخراج النتيجة الفعلية من السلسلة باستخدام طريقة .match ().
### تلميح 2:
هل تستخدم علامة حالة الأحرف (match) الخاصة بالأسلوب مع الأقواس؟ على سبيل المثال regExp = / \[ae\] / vs regExp = / ae /. ما يسمح لنا القيام به هو البحث في السلسلة عن أي أحرف مطابقة \[a، b، c، ... e\] باستخدام التدوين المختصر / \[ae\] /.
### تنبيه المفسد: الحل إلى الأمام
## حل
`let quoteSample = "The quick brown fox jumps over the lazy dog.";
let alphabetRegex = /[az]/ig; // Change this line
let result = quoteSample.match(alphabetRegex); // Change this line
`

View File

@@ -0,0 +1,22 @@
---
title: Match Literal Strings
localeTitle: المباراة الحرفيه الاوتار
---
## المباراة الحرفيه الاوتار
هذا التحدي لا يختلف عن السابق. في هذه الحالة ، أنت تعلم أن حرفية السلسلة تكون حساسة لحالة الأحرف. وهذا يعني أنه عندما تختبر لمعرفة ما إذا كانت السلسلة تحتوي على حرفي ، فستبحث عن الحالة الدقيقة (السفلية أو العلوية) داخل السلسلة. سوف تتعلم كيفية العثور على حرفية سلسلة بغض النظر عن حالتهم ، في درس قادم.
في هذا التحدي ، كنت تجد والدو ... داخل سلسلة!
## تلميح 1:
تغيير الخط لجعل السلسلة الصحيحة حرفية.
## تنبيه المفسد - الحل إلى الأمام!
## حل:
`let waldoIsHiding = "Somewhere Waldo is hiding in this text.";
let waldoRegex = /Waldo/; // Change this line
let result = waldoRegex.test(waldoIsHiding);
`

View File

@@ -0,0 +1,9 @@
---
title: Match Non-Whitespace Characters
localeTitle: تطابق أحرف غير بيضاء
---
## تطابق أحرف غير بيضاء
هذا هو كعب. [ساعد مجتمعنا على توسيعه](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/regular-expressions/match-non-whitespace-characters/index.md) .
[سيساعدك دليل النمط السريع هذا على ضمان قبول طلب السحب](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,36 @@
---
title: Match Numbers and Letters of the Alphabet
localeTitle: أرقام المباراة ورسائل الأبجدية
---
## أرقام المباراة ورسائل الأبجدية
في هذا التحدي ، تتم مطالبتك بإرجاع مجموعة من الأرقام والحروف المستخرجة من سلسلة. هدفنا هو إنشاء regexp واحد يلتقط نطاق الحروف بين h و s ، والأرقام من 2 إلى 6.
### تلميح 1:
هل تستخدم طريقة match ()؟ إذا كان الأمر كذلك ، فهل تقوم باستدعاء الطريقة من المتغير المناسب؟ أي
` let input_string = "The string you are testing on"
let yourRegExp = /[hs]/;
let correct_result = input_string.match(yourRegExp); // passes - returns characters H to S
let incorrect_result = yourRegExp.match(input_string); // fails - .match() is not a function
`
### تلميح 2:
هل تذكر تمكين إشارات regexp مثل "i" لتجاهل الحالة و "g" لإرجاع قيم متعددة؟ إذا كان الأمر كذلك ، فهل تقوم بتضمين كل من مطابقة الأحرف للأرقام والحروف؟
`let regexp = /[a-z1-100]/ig
// above code returns all characters from A to Z, along with all numbers from 1 to 100
// this includes the letter A and Z and the numbers 1 and 100
`
### تنبيه المفسد - الحل إلى الأمام
## حل
`let quoteSample = "Blueberry 3.141592653s are delicious.";
let myRegex = /[h-s2-6]/ig; // Change this line
let result = quoteSample.match(myRegex); // Change this line
`

View File

@@ -0,0 +1,26 @@
---
title: Match Single Character with Multiple Possibilities
localeTitle: تطابق شخصية واحدة مع إمكانيات متعددة
---
## تطابق شخصية واحدة مع إمكانيات متعددة
### استخراج
باستخدام طريقة match () ، يمكنك استخراج أجزاء من سلسلة تتطابق مع تعبيرك العادي. في هذا التحدي ، أنت تقوم باستخلاص أحرف العلة "a، e، i، o، u" من سلسلة مقدمة.
### تلميح 1:
هل تحاول استخدام طريقة test ()؟ تذكر هذه الطريقة فقط بإرجاع True أو False - نحتاج إلى استخراج أحرف العلة من السلسلة.
### تلميح 2:
هل جرّبت استخدام مطابقة حالة الأحرف "\[\]" بدون الفواصل؟ أي \[abcd\] مقابل \[a، b، c، d\]
### تنبيه المفسد - الحل إلى الأمام!
## حل
`let quoteSample = "Beware of bugs in the above code; I have only proved it correct, not tried it.";
let vowelRegex = /[aeiou]/ig; // Change this line
let result = quoteSample.match(vowelRegex); // Change this line
`

View File

@@ -0,0 +1,36 @@
---
title: Match Single Characters Not Specified
localeTitle: مطابقة أحرف مفردة غير محددة
---
## مطابقة أحرف مفردة غير محددة
في هذا التحدي ، يُطلب منا إعادة مجموعة من التطابقات غير المحددة بدقة. في حين أن تحديات regexp السابقة ستطابق في حالة الأحرف \[az\] ، فإن هذا التحدي يطلب منا إلغاء هذه التطابقات باستخدام حرف الإقحام \[^ az\]. هدفنا بعد ذلك هو إرجاع مجموعة متخللة (غير مطابقة) من الحروف التي ليست حروفًا متحركة أو أرقامًا.
## تلميح 1:
هل تذكرت أن تقوم بتعديل regexp الخاص بك في كل من الأقواس والخطوط المائلة؟
`let exampleRegExp = /[^az]/;
`
إذا كان الأمر كذلك ، فتأكد من أنك تضيف العلامات المناسبة:
* أنا: تجاهل الحالة العلوية والسفلية من البحث / التطابق
* g: استرداد قيم متعددة ؛ يتم تعيين الافتراضي على إرجاع المطابقة الأولى التي يواجهها
* ^: تناسي المباريات التالية لهذه العلامة
### تلميح 2:
تأكد من التحقق مما إذا كان نطاق الأرقام صحيحًا - يطالبنا التحدي بإنهاء جميع الأرقام من 0 إلى 99. يمكن القيام بذلك باستخدام علامة الإبطال السلبي الموضوعة مباشرة بعد أول شريحة افتتاحية من كلمة regexp الخاصة بك.
`let numbersRegExp = /[^0-99]/ig;
`
### تنبيه المفسد - الحل إلى الأمام
## حل
`let quoteSample = "3 blind mice.";
let myRegex = /[^aeiou^0-99]/ig; // Change this line
let result = quoteSample.match(myRegex); // Change this line
`

View File

@@ -0,0 +1,9 @@
---
title: Match Whitespace
localeTitle: تطابق الفراغ
---
## تطابق الفراغ
هذا هو كعب. [ساعد مجتمعنا على توسيعه](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/regular-expressions/match-whitespace/index.md) .
[سيساعدك دليل النمط السريع هذا على ضمان قبول طلب السحب](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,17 @@
---
title: Positive and Negative Lookahead
localeTitle: الإيجابية و السلبية Lookahead
---
## الإيجابية و السلبية Lookahead
* تذكر استخدام 2 `lookaheads` للتحقق من الأنماط في السلسلة. أول `lookahead` مشابه جدا لتلك الواردة في المثال - '(؟ = \\ w {3،6}) - فقط `lower-number` 3 منخفض جدا بالنسبة لحالات الاختبار لدينا ، `upper-number` هو unnecessarry تماما. يستخدم هذا `lookahead` الأول فقط لإيجاد سلسلة تتكون من كمية معينة من الأحرف. يجب استخدام `lookahead` الثاني للتحقق من القيم الرقمية المتتالية في نهاية السلسلة.
* `lookahead` الثاني أيضاً مع ذلك في المثال - `(?=\D*\d)` - ومع ذلك ، يجب تعديل هذا التعبير أيضًا لتمرير جميع حالات الاختبار. تذكر أن تحدد مقدار الأرقام الذي تريده بالضبط في نهاية السلسلة.
## حل :
`let sampleWord = "astronaut";
let pwRegex = /(?=\w{5,})(?=\D*\d{2})/;
let result = pwRegex.test(sampleWord);
`

View File

@@ -0,0 +1,24 @@
---
title: Remove Whitespace from Start and End
localeTitle: إزالة Whitespace من البداية والنهاية
---
## إزالة Whitespace من البداية والنهاية
لحل هذا التحدي عليك ببساطة إنشاء سلسلة regex تطابق أي مسافات في بداية أو في نهاية السلسلة.
## تلميح 1:
فكر في كيفية تحديد سلاسل فرعية في بداية أو نهاية سلسلة.
## تلميح 2:
فكر في كيف يمكنك تحديد مسافة بيضاء
## تنبيه المفسد - الحل إلى الأمام!
## حل:
`let hello = " Hello, World! ";
let wsRegex = /^\s+|\s+$/g; // Change this line
let result = hello.replace(wsRegex, ''); // Change this line
`

View File

@@ -0,0 +1,29 @@
---
title: Restrict Possible Usernames
localeTitle: تقييد أسماء المستخدمين المحتملين
---
## تقييد أسماء المستخدمين المحتملين
## حل:
`let username = "JackOfAllTrades";
let userCheck = /^[az]{2,}\d*$/i;
let result = userCheck.test(username);
`
## شرح:
1. الأرقام الوحيدة في اسم المستخدم يجب أن تكون في النهاية. `\d$` يمكن أن يكون هناك صفر أو أكثر منهم في النهاية. `*`
`/\d*$/;
`
2. يمكن أن تكون أحرف اسم المستخدم صغيرة وأحرف كبيرة. `i`
`/\d*$/i;
`
3. يجب أن تتكون أسماء المستخدمين من حرفين على الأقل. `{2,}` يمكن لاسم المستخدم المكون من حرفين فقط استخدام أحرف الحروف الأبجدية. `^[az]`
`/^[az]{2,}\d*$/i;
`

View File

@@ -0,0 +1,55 @@
---
title: Reuse Patterns Using Capture Groups
localeTitle: إعادة استخدام الأنماط باستخدام مجموعات الالتقاط
---
## إعادة استخدام الأنماط باستخدام Capture Group
## تلميح 1:
كود المقدمة أدناه:
`let testString = "test test test ";
let reRegex =/(test)\s\1/;
let result = reRegex.test(testString);
`
سوف تتطابق `result` مع `test test` فقط لأن `\1` في هذا المثال تشير إلى نفس النص الذي تم مؤخرًا تطابقه مع المجموعة الأولى `(test)` .
إذا كنا سنترجم التعبير المعتاد حرفياً ، فسيبدو شيئًا كالتالي:
`let re = /(test)\s\1;
let literalRe = /test\stest;
`
كل من `rea` و `literalRe` تطابق نفس الشيء.
## تلميح 2:
نظرا للرمز أدناه:
`let testString = "test test test ";
let reRegex =/(test)(\s)\1\2\1/;
let result = reRegex.test(testString);
`
سيطابق `test test test` كامل `test test test` بسبب: `\1` يكرر (اختبار) `\2` يكرر (\\ s)
## تلميح 3:
الكود أدناه:
`let testString = "test test test test test test";
let reRegex =/(test)(\s)\1\2\1/g;
let result = reRegex.test(testString);
`
نظرًا لأننا استخدمنا `\g` ، فلن يعود التعبير المعتاد الخاص بنا بعد أول مباراة كاملة ( `test test test` ) ويطابق كل التكرار.
## تنبيه المفسد - الحل إلى الأمام!
## حل:
`let repeatNum = "42 42 42";
let reRegex = /^(\d+)\s\1\s\1$/;
let result = reRegex.test(repeatNum);
`

View File

@@ -0,0 +1,9 @@
---
title: Specify Exact Number of Matches
localeTitle: تحديد العدد الدقيق للمباريات
---
## تحديد العدد الدقيق للمباريات
هذا هو كعب. [ساعد مجتمعنا على توسيعه](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/regular-expressions/specify-exact-number-of-matches/index.md) .
[سيساعدك دليل النمط السريع هذا على ضمان قبول طلب السحب](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,13 @@
---
title: Specify Only the Lower Number of Matches
localeTitle: تحديد عدد أقل من المطابقات فقط
---
المشكلة تغيير haRegex regex لتتطابق مع الكلمة "Hazzah" فقط عندما يحتوي على أربعة أحرف z أو أكثر.
حل let haStr = "Hazzzzah"؛ let haRegex = / Haz {4،30} ah /؛ // قم بتغيير هذا الخط اسمحوا النتيجة = haRegex.test (haStr) ؛
## تحديد عدد أقل من المطابقات فقط
هذا هو كعب. [ساعد مجتمعنا على توسيعه](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/javascript-algorithms-and-data-structures/regular-expressions/specify-only-the-lower-number-of-matches/index.md) .
[سيساعدك دليل النمط السريع هذا على ضمان قبول طلب السحب](https://github.com/freecodecamp/guides/blob/master/README.md) .

View File

@@ -0,0 +1,30 @@
---
title: Specify Upper and Lower Number of Matches
localeTitle: تحديد العلوي والسفلي عدد من المباريات
---
## تحديد العلوي والسفلي عدد من المباريات
تذكر `/a{2,4}/` سيعود `true` طالما هناك بين 2 إلى 4 أ معًا. فإنه سيعود `true` عن أي سلسلة لديها أكثر من أربعة ومعا أيضا.
كل هذه السلاسل ستعود `true` :
`let threeAs = "aaa";
let fourAs = "aaaa";
let sevenAs = "aaaaaaa";
let myRegex = /a{2,4}/;
myRegex.test(threeAs) ; // true
myRegex.test(fourAs) ; // true
myRegex.test(sevenAs) ; // true
`
## Spolier Alert!
تذكر استخدام `\s` بعد تضمين `Oh{3,6}` لتضمين مساحة بيضاء متبوعة بالرقم `no` لتمرير جميع حالات الاختبار. تتم كتابة جميع حالات الاختبار باستخدام رأس مال O ، ومع ذلك يمكن تمريرها أيضًا باستخدام `ignore-case` : `/oh{3,6}\sno/i`
## حل:
`let ohStr = "Ohhh no";
let ohRegex = /Oh{3,6}\sno/; // Change this line
let result = ohRegex.test(ohStr);
`

View File

@@ -0,0 +1,21 @@
---
title: Use Capture Groups to Search and Replace
localeTitle: استخدم مجموعات الالتقاط للبحث واستبدال
---
## استخدم مجموعات الالتقاط للبحث واستبدال
باستخدام `.replace()` مع تعيين المعلمة الأولى للبحث عن جزء من السلسلة الأصلية لاستبدالها ، ويجب أن تكون المعلمة الثانية الاستبدال.
## تلميح 1:
قم بتعديل regex بحيث يقوم `fixRegex` بالكشف عن جزء من السلسلة لاستبداله ويجب تعديل متغير `replaceText` إلى السلسلة التي ستحل محل `fixRegex` .
## تنبيه المفسد - الحل إلى الأمام!
## حل
`let huhText = "This sandwich is good.";
let fixRegex = /good/; // Change this line
let replaceText = "okey-dokey"; // Change this line
let result = huhText.replace(fixRegex, replaceText);
`

View File

@@ -0,0 +1,20 @@
---
title: Using the Test Method
localeTitle: باستخدام طريقة الاختبار
---
## باستخدام طريقة الاختبار
في هذا التحدي، كنت فحص لمعرفة ما اذا كان سلسلة تحتوي على بعض "التعبير العادي"، أو **التعابير المنطقية** **(ريج** ular pressions **السابقين).** ستستخدم طريقة `test()` للقيام بذلك.
## تلميح 1:
استدعاء طريقة الاختبار على `myRegex` . ما رأيك في الحجة؟
## تنبيه المفسد - الحل إلى الأمام!
## حل
`let myString = "Hello, World!";
let myRegex = /Hello/;
let result = myRegex.test(myString); // Change this line
`