عبارات باقاعده (RegEx) در Delphi

عبارات باقاعده یا Regular Expressions الگوهایی برای تعریف نحوه تولید کلمات، جملات و رشته‌های باقاعده هستند. به عبارت ساده‌تر مهمترین کاربرد آنها، تطبیق الگو (Pattern Matching) در Parser های رشته‌ای است.

به عنوان مثال قوانین و قواعد تولید رشته‌هایی مانند: اسامی، اعداد، نام متغیرها، آدرسهای وب (URL)، آدرس ایمیل، دستورات برنامه نویسی (IF-Then, IF-Then-Else, For-Next, Try-Except, …)، قالب‌های نشانه‌گذاری (Html, Xml, …) و غیره، همگی توسط عبارات باقاعده تعریف می‌شوند.

به عنوان یک برنامه‌نویس، در موراد بسیاری از برنامه‌هایم با مراحل پیچیده‌ای از تشخیص الگوهای رشته‌ای روبرو شده‌ام، که اصولا در این موارد نوشتن روال‌های جستجو و انطباق، هزینه‌های بسیاری را بر برنامه تحمیل کرده است. (مثلاً پروژه Cpp2C، پروژه‌ای در مورد تشخیص الگو در AI، ذخیره موجودیتها به فرمت Vector و Xml و …)

با استفاده از بسته DIRegEx از http://www.yunqa.de/ که برای پیاده‌سازی RegEx در تمام نسخه‌های دلفی (از D4 تا D2010) ارائه شده است، به راحتی می‌توان از تمام امکانات مرتبط با عبارات باقاعده استفاده نمود.

بسته DIRegEx شامل راهنمای کامل و تعداد زیادی Demo از امکانات کلاسهای آن مانند TDIPerlRegEx، TDIDfaRegEx، TDIRegEx و … است.
لازم به ذکر است که کلاسهای DIRegEx به طور کامل از UTF-8 پشتیبانی می‌کنند.

Regular Expressions in Delphi DIRegEx

About محمد شمس

برنامه‌نویس، طراح انیمیشن و علاقمند به هوش مصنوعی

3 Comments

  1. ممنون از توضیحات

  2. من از REGEX برای نوشتن یک مبدل قالب وبلاگ استفاده کردم که الان اینجا میتونی باهاش کار کنی .
    http://www.persianweblog.ir/templates/converter/
    کلا برای جایگزینی متونی که ساختار دارند این عبارات باقاعده واقعا باحال کار میکنند و شگفت آورند.

  3. امتحان کردم، جالب بود. هر چند دقیقا متوجه نشدم مبنای تفاوت این دو قالب وبلاگ چه بود، اما همینکه برای انجام اینکار از یک Casetools علمی و مهندسی استفاده کرده‌اید جای تشکر دارد.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


4 × = 36