قرار دادن پترن های آماده برای لوا :
نمونه کد اصلی برای جستجو که میدونیم این هست :
کد:MainStr = "sa+lam----------236.200*35/2-abc.cbd-5" LastChar = 0 var=false while var==false do FirstChar, LastChar, Content1 = string.find(MainStr, "Pattern",LastChar+1) if Content1==nil then var=true break ; else Dialog.Message("Notice", FirstChar.."\n"..LastChar.."\n"..Content1, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1) ; end end
حالا میتونه توابع و حلقه و حتی بدنه ی متفاوت باشه
بجای رشته ی "Pattern" در آرگومان دوم تابع string.find پترن هایی که بچه ها میزارن رو میتونیم جایگزین اش کنیم
-------------------------------------------
یه چند تای اولی رو بزارم :
1)
این پترن تمام اعداد (بدون علامت) به همراه اعداد با علامت منفی (اگه علامت منفی وجود داشت) رو پیدا میکنه.کد:"(%-?%d+)"
2)
کد:کد:"(%-?%d+%.?%d*)"
همون کار بالا رو میکنه ، منتها اعداد اعشاری رو هم به حساب میاره (البته در این پترن دومی ، اگه بصورت این جوری نوشته بشه که عدد نوشته بشه و بعد فقط یک نقطه نوشته بشه ولی دوباره بعدش عدد نوشته نشه مثلا این جوری نوشته بشه .10 هم حساب میکنه که فعلا روش فکر نکردم که چجوری باید برداشت . شاید روشی وجود داشته باشه توی پترن ها یا نه ولی با تابع جداگانه ای که مینویسین میتونین دوباره پترن دیگه ای بنویسین تو اون تابع که چک کنین بعد از نقطه ، حتما عدد اومده باشه که این مشکل حل میشه)
Bookmarks