Ø§ÙØ¨Ø¯ÙÙ Ù٠اÙÙ ØµØ·ÙØ ÙÙ Ø§ÙØªØ¹Ø¨Ùر Ø§ÙØ¹Ø§Ø¯Ù ÙÙÙ Ù٠اÙÙØ§Ùع âORâ Ø¨Ø³ÙØ·.
ÙÙ Ø§ÙØªØ¹Ø¨Ùر Ø§ÙØ¹Ø§Ø¯Ù Ø ÙÙØ´Ø§Ø± Ø¥ÙÙÙ Ø¨ØØ±Ù Ø§ÙØ³Ø·Ø± Ø§ÙØ¹Ù
ÙØ¯Ù |.
عÙ٠سبÙ٠اÙÙ Ø«Ø§Ù Ø ÙØØªØ§Ø¬ Ø¥ÙÙ Ø§ÙØ¹Ø«Ùر عÙÙ ÙØºØ§Øª Ø§ÙØ¨Ø±Ù جة: HTML Ø£Ù PHP Ø£Ù Java Ø£Ù JavaScript.
Ø§ÙØªØ¹Ø¨Ùر Ø§ÙØ¹Ø§Ø¯Ù اÙÙ
ÙØ§Ø¨Ù: html | php | java (script)Ø.
٠ثا٠ÙÙØ§Ø³ØªØ®Ø¯Ø§Ù :
let regexp = /html|php|css|java(script)?/gi;
let str = 'First HTML appeared, then CSS, then JavaScript';
alert(str.match(regexp)); // 'HTML', 'CSS', 'JavaScript'
ÙÙØ¯ رأÙÙØ§ باÙÙØ¹Ù Ø´ÙØ¦Ùا Ù
شابÙÙØ§ â Ø§ÙØ£ÙÙØ§Ø³ اÙÙ
ربعة. تسÙ
Ø Ø¨Ø§ÙØ§Ø®ØªÙار بÙ٠عدة Ø£ØØ±Ù Ø Ø¹Ù٠سبÙ٠اÙÙ
ثا٠gr [ae] y ÙØ·Ø§Ø¨Ù gre Ø£Ù grey.
Square brackets allow only characters or character classes. Alternation allows any expressions. A regexp A|B|C means one of expressions A, B or C.
عÙ٠سبÙ٠اÙ٠ثاÙ:
gr (a | e) yÙØ¹ÙÙ ØªÙ Ø§Ù ÙØ§ Ù Ø«Ùgr [ae] y.gra | eyتعÙÙgraØ£Ùey.
ÙØªØ·Ø¨ÙÙ Ø§ÙØªÙØ§ÙØ¨ عÙ٠جزء ٠ختار ٠٠اÙÙÙ Ø· Ø ÙÙ ÙÙÙØ§ تض٠ÙÙ٠بÙÙ ÙÙØ³ÙÙ:
اÙÙÙ Ø·: Ø£ØØ¨ HTML | CSSÙØ·Ø§Ø¨ÙÙ Ø·Ø§Ø¨ÙØ©: Ø£ÙØ§ Ø£ØØ¨ HTMLØ£ÙØªØ·Ø§Ø¨Ù: CSS.I love (HTML | CSS)ÙØªØ·Ø§Ø¨Ù ٠عI love HTMLØ£ÙI love CSS.
٠ثاÙ: regexp ÙÙÙÙØª
In previous articles there was a task to build a regexp for searching time in the form hh:mm, for instance 12:00. But a simple \d\d:\d\d is too vague. It accepts 25:99 as the time (as 99 minutes match the pattern, but that time is invalid).
ÙÙÙ ÙÙ ÙÙÙØ§ ØµÙØ¹ ÙÙ Ø· Ø£ÙØ¶ÙØ
ÙÙ ÙÙÙØ§ Ø§Ø³ØªØ®Ø¯Ø§Ù Ù Ø·Ø§Ø¨ÙØ© Ø£ÙØ«Ø± Ø¯ÙØ©. اÙÙØ§ Ø§ÙØ³Ø§Ø¹Ø§Øª:
- إذا ÙØ§Ù Ø§ÙØ±ÙÙ
Ø§ÙØ£ÙÙ ÙÙ â0â Ø£Ù â1â Ø ÙÙÙ
Ù٠أ٠ÙÙÙÙ Ø§ÙØ±ÙÙ
Ø§ÙØªØ§Ù٠أÙ:
[01] \ d. - ÙØ¥Ùا Ø Ø¥Ø°Ø§ ÙØ§Ù Ø§ÙØ±ÙÙ Ø§ÙØ£ÙÙ ÙÙ â2â Ø ÙÙØ¬Ø¨ Ø£Ù ÙÙÙÙ Ø§ÙØ±ÙÙ Ø§ÙØªØ§ÙÙ "pattern: [0-3]`.
- (ØºÙØ± Ù Ø³Ù ÙØ Ø¨Ø§ÙØ±ÙÙ Ø§ÙØ£ÙÙ Ø§ÙØ¢Ø®Ø±)
ÙÙ
ÙÙÙØ§ ÙØªØ§Ø¨Ø© ÙÙØ§ اÙÙ
ØªØºÙØ±ÙÙ ÙÙ regexp باستخداÙ
Ø§ÙØ¨Ø¯ÙÙ: [01] \ d | 2 [0-3].
بعد ذÙÙ Ø ÙØ¬Ø¨ أ٠تÙÙÙ Ø§ÙØ¯Ùائ٠Ù
Ù 00 Ø¥ÙÙ59. ÙÙ ÙØºØ© Ø§ÙØªØ¹Ø¨Ùر Ø§ÙØ¹Ø§Ø¯Ù Ø§ÙØªÙ ÙÙ
ÙÙ ÙØªØ§Ø¨ØªÙا ÙÙ [0-5] \ d: Ø§ÙØ±ÙÙ
Ø§ÙØ£ÙÙ0-5 Ø Ø«Ù
أ٠رÙÙ
.
If we glue hours and minutes together, we get the pattern: [01]\d|2[0-3]:[0-5]\d.
ÙÙØ¯ Ø§ÙØªÙÙÙØ§ ØªÙØ±ÙØ¨ÙØ§ Ø ÙÙÙÙ ÙÙØ§Ù Ù
Ø´ÙÙØ©. ÙØØ¯Ø« âØ§ÙÙÙ
Ø· Ø§ÙØ¨Ø¯ÙÙâ: | Ø§ÙØ¢Ù بÙ٠اÙÙÙ
Ø·: [01] \ dÙ "اÙÙÙ
Ø·: 2 [0-3]: [0-5] \ d.
Ø£Ù: ت٠ت Ø¥Ø¶Ø§ÙØ© Ø§ÙØ¯Ùائ٠إÙÙ Ø§ÙØ¨Ø¯ÙÙ Ø§ÙØ«Ø§ÙÙ Ø Ø¥ÙÙÙ ØµÙØ±Ø© ÙØ§Ø¶ØØ©:
[01] \ d | 2 [0-3]: [0-5] \ د
ÙØ¨ØØ« ÙØ°Ø§ اÙÙÙ
Ø· ع٠اÙÙÙ
Ø·: [01] \ d Ø£ÙØ§ÙÙÙ
Ø·: 2 [0-3]: [0-5] \ d.
ÙÙÙÙ ÙØ°Ø§ خطأ Ø ÙØ¬Ø¨ استخداÙ
Ø§ÙØªÙØ§ÙØ¨ ÙÙØ· Ù٠جزء âØ§ÙØ³Ø§Ø¹Ø§Øªâ Ù
Ù Ø§ÙØªØ¹Ø¨Ùر Ø§ÙØ¹Ø§Ø¯Ù Ø ÙÙØ³Ù
Ø§Ø Ø¨Ù "pattern: [01] \ dOR pattern: 2 [0-3] . Ø¯Ø¹ÙØ§ ÙØµØØ ذÙ٠ع٠طرÙÙ ÙØ¶Ø¹ "ساعات" بÙÙ ÙÙØ³ÙÙ:اÙÙÙ
Ø·: ([01] \ d | 2 [0-3]): [0-5] \ d`.
Ø§ÙØÙ Ø§ÙÙÙØ§Ø¦Ù:
let regexp = /([01]\d|2[0-3]):[0-5]\d/g;
alert('00:00 10:10 23:59 25:99 1:2'.match(regexp)); // 00:00,10:10,23:59

Ø§ÙØªØ¹ÙÙÙØ§Øª
<code>Ø ÙÙÙÙØ«Ùر Ù Ù Ø§ÙØ³Ø·Ùر استخدÙ<pre>Ø ÙÙØ£Ùثر Ù Ù 10 Ø³Ø·ÙØ± استخد٠(plnkr, JSBin, codepenâ¦)