ورود

View Full Version : کد Regex برای جلوگیری از دریافت کاراکتر های خاص



Restlesa
دوشنبه 27 دی 1395, 00:09 صبح
سلام
کد Regex برای جلوگیری از دریافت حروف خاص رو کسی بلده ؟؟؟

[younes]
دوشنبه 27 دی 1395, 05:08 صبح
http://forum.ncis.ir/Thread-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B9%D8%A8%D8%A7%D8%B1%D8%A7%D8%AA-%D8%A8%D8%A7%D9%82%D8%A7%D8%B9%D8%AF%D9%87-Regular-Expressions

Restlesa
دوشنبه 27 دی 1395, 08:35 صبح
آدرس وجود نداره خطای 404 میده

Restlesa
دوشنبه 27 دی 1395, 23:19 عصر
کسی نیست جواب سوال من رو بده ؟؟؟!!!

-سیّد-
پنج شنبه 07 بهمن 1395, 07:42 صبح
سلام
به شما توصیهٔ اکید می‌کنم که کار با عبارات منظم (regex) رو یاد بگیرید. به شدت به کار میان و کار آدم رو راحت می‌کنن. تجربهٔ شخصی من این بوده که توی دانشگاه هیچ کس نحوهٔ کار با regex ها رو به ما یاد نداد، و من بعداً خودم یاد گرفتم و دیدم که چقدر کاربردی هستن.
برای یادگیری هم می‌تونید از سایت‌ها و ابزارهای مفیدی مثل این سایت‌ها استفاده کنید:
https://regexone.com
http://www.regular-expressions.info
https://www.debuggex.com
https://regex101.com
البته کار با عبارات منظم هم سطح ساده و پیشرفته داره، ولی همون ساده‌اش هم بسیار کمک می‌کنه.

اما در مورد سؤالی که پرسیدید:
باید یه مقدار واضح‌تر مطرح کنید. دقیقاً کدوم حروف رو می‌خواین حذف کنین؟ یا دقیقاً کدوم حروف رو می‌خواین حذف نکنین؟ مثلاً اگه فقط اعداد رو می‌خواین، می‌شه این:

\d*
که d\ یعنی یه رقم، اون ستارهٔ بعدش هم یعنی از این قبلی که گفتم (رقم) به هر تعداد (صفر یا بیشتر). اگه بخواین حتماً حداقل یه رقم توش باشه، می‌شه:

\d+
حالا اگه می‌خواین هم حروف الفبا باشه هم ارقام، می‌شه:

\w+
w\ یعنی اعداد، حروف بزرگ و کوچیک، و underline. می‌شه معادل:

[a-zA-Z0-9_]
اون براکت یعنی هر چیزی که توش نوشتم به صورت OR در نظر گرفته بشه. توی براکت، علامت dash یعنی از این تا اون، پس a-z یعنی از a تا z که می‌شه حروف کوچیک.

در نهایت هم اگه جستجو کنید، احتمالاً عبارات منظم زیادی برای این کار می‌تونید پیدا کنید، من به ساده‌ترین شکل ممکن گفتم.