<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Regex on مدونة عمار الخوالده</title><link>https://ammar.dev/categories/regex/</link><description>Recent content in Regex on مدونة عمار الخوالده</description><generator>Hugo</generator><language>ar</language><lastBuildDate>Sat, 05 Sep 2026 15:24:00 +0300</lastBuildDate><atom:link href="https://ammar.dev/categories/regex/index.xml" rel="self" type="application/rss+xml"/><item><title>متى لا تكون تعابير Regex كافية لتحليل النصوص؟</title><link>https://ammar.dev/snippets/when-regex-is-not-enough/</link><pubDate>Sun, 16 Aug 2026 22:35:00 +0300</pubDate><guid>https://ammar.dev/snippets/when-regex-is-not-enough/</guid><description>&lt;p&gt;كتبت سابقا مقالا تفاعليا يشرح Regex:
&lt;a href="https://ammar.dev/regex-introduction/"&gt;مقدمة في تعلم Regex&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;شرحت فيه عدة أمثلة للمُطابقة (Matching) لكن ما لم يُذكر في المقال أن Regex يفشل أحيانا في معالجة بعض النصوص.&lt;/p&gt;
&lt;p&gt;هذه القصاصة تعطي أمثلة على حالات لا يصلح فيها Regex لتحليل النصوص.&lt;/p&gt;
&lt;h2 id="التكرار-والتداخل-recursion"&gt;التكرار والتداخل Recursion&lt;/h2&gt;
&lt;p&gt;هذا النمط من المقال يُطابق بعض الـ HTML Tags:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="syntax-re" data-lang="re"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6e7681"&gt;1&lt;/span&gt;&lt;span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;lt;(&lt;/span&gt;strong&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;b&lt;span style="color:#ff7b72;font-weight:bold"&gt;)&amp;gt;(?&amp;lt;&lt;/span&gt;tag_content&lt;span style="color:#ff7b72;font-weight:bold"&gt;&amp;gt;.*)&amp;lt;&lt;/span&gt;&lt;span style="color:#f85149"&gt;\&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;/&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;(&lt;/span&gt;strong&lt;span style="color:#ff7b72;font-weight:bold"&gt;|&lt;/span&gt;b&lt;span style="color:#ff7b72;font-weight:bold"&gt;)&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;لكن بالنظر إلى الى النص الآتي:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="syntax-html" data-lang="html"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6e7681"&gt;1&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#7ee787"&gt;strong&lt;/span&gt;&amp;gt;Test &amp;lt;&lt;span style="color:#7ee787"&gt;b&lt;/span&gt;&amp;gt;Bold&amp;lt;/&lt;span style="color:#7ee787"&gt;b&lt;/span&gt;&amp;gt; text&amp;lt;/&lt;span style="color:#7ee787"&gt;strong&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;سيتم مطابقة &lt;code&gt;&amp;lt;strong&amp;gt;&lt;/code&gt; و &lt;code&gt;&amp;lt;/strong&amp;gt;&lt;/code&gt; لكن &lt;code&gt;Test &amp;lt;b&amp;gt;Bold&amp;lt;/b&amp;gt; text&lt;/code&gt; ستُطابق كمجموعة واحدة تحت اسم &lt;code&gt;tag_content&lt;/code&gt;.
عند معالجة نمط معين، حيث يمكن لهذا النمط أن يحتوي على نفسه مرة أخرى (كوجود HTML tag داخل HTML tag آخر) فإن Regex يفشل في مطابقتها.&lt;/p&gt;</description></item><item><title>مقدمة في تعلم Regex</title><link>https://ammar.dev/regex-introduction/</link><pubDate>Sat, 10 Jun 2023 18:30:00 +0300</pubDate><guid>https://ammar.dev/regex-introduction/</guid><description>مقال يشرح كتابة تعابير Regex باستخدام أمثلة تفاعلية يمكن تعديلها من داخل المقال</description></item></channel></rss>