الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة Regular Expresion

بدأه مهند سليمان في 14 يوليو 2013 · 5 رد · 543 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم  رمضان كريم

ماهو Regular Expresion لهذه الجملة 
 

 

{ {ahmed}{apple=5}{=}{a} }

ليطبع شي كهذا
ahmed

apple=5

=

a

قمت بعمل الكود التالي 

  Dim r As Regex        Dim m As Match
        Dim InputString As String = "{ {ahmed}{apple=5}{=}{a} }"
        r = New Regex("{(\w*)}", RegexOptions.IgnoreCase Or RegexOptions.Compiled)


        m = r.Match(InputString)
        While m.Success
            MsgBox(m.Groups(1).Value)
            m = m.NextMatch()
        End While

فكانت المخرجات 
ahmed

a

واستبدلت w ب W الكبيرة 
فكانت المخرجات 
=
ارجو المساعدة في استخراج جميع الكلمات وشكرا


 

#2

هذا الجزء:

{(\w*)}

سيطابق الأحرف فقط، وأنت تريد أن يطابق الأحرف والأرقام وعلامة المساواة، لذا ستكون:

{([\w\d=]*)}

فقط عدّل الجزء:

r = New Regex("{(\w*)}", RegexOptions.IgnoreCase Or RegexOptions.Compiled)
إلى:
r = New Regex("{([\w\d=]*)}", RegexOptions.IgnoreCase Or RegexOptions.Compiled)
1
#3

بارك الله فيك اخ Mr.B

لقد عمل الكود بنجاح لدي استفسار اخر في حالة اردت جميع الحروف الخاصة ما عدا الرمزين { }

#4

في حالة إذا كانت الاقواس متداخلة  مثل 

{ {ahmed {apple=5} }{=}{a} }

 

 

يتم تجاهل كلمة ahmed

#5

كل شيء عدا {} يقابل:

{([^{}]+)}

بالنسبة للأخير فهو مختلف، ربما هذا ماتريد:

{([^{}\s]+)|(?:{([^{}\s]+)})}
#6

شكرا لك تم النتفيذ بنجاح 

مواضيع مشابهة