به کار بردن Metacharacter ها در مجموعه های کاراکتر (Character Set) (فهرست آنهایی که به رها (Escape) کردن نیاز دارند و آنهایی که نیاز ندارند) (مثل [b$c])، در عبارات قاعده مند (Regular Expressions)
قبلا در کلید شماره 3058 ، مفهوم Metacharacter ها در عبارات قاعده مند (Regular Expressions) را شرح دادیم و بیان کردیم که Metacharacter ها، کاراکترهایی هستند که وقتی آنها را در یک عبارت قاعده مند (Regular Expressions) به کار می بریم، معنی اصلی خود (معنی کاراکتر خود) را ندارند و معنی خاصی برای عبارت قاعده مند (Regular Expressions) خواهند داشت و در واقع، مرتبط با ساختار عبارت قاعده مند (Regular Expressions) می باشند.
همچنین در کلید شماره 743 ، توضیح دادیم که با رها (Escape) کردن Metacharacter ها (از قواعد تعریف شده برای آنها)، چگونه از آنها به عنوان کاراکتر (Character) معمولی استفاده نماییم.
اما اکنون قصد داریم که چگونگی استفاده از Metacharacter ها به عنوان کاراکتر (Character) معمولی، در مجموعه های کاراکتر (Character Set) ( کلید شماره 3060 ) را شرح دهیم. زیرا اگر آنها را در مجموعه های کاراکتر (Character Set) به کار ببریم، برخی از آنها به رها (Escape) کردن نیاز دارند و برخی نیاز ندارند.
در کل، Metacharacter ها عبارتند از (14 عدد) :
که Metacharacter هایی که هنگام به کار رفتن در مجموعه های کاراکتر (Character Set)، به رها (Escape) کردن نیاز دارند، عبارتند از :
و بنابراین سایر Metacharacter ها نیاز به رها (Escape) کردن در مجموعه های کاراکتر (Character Set) ندارند، زیرا هنگام به کار رفتن در مجموعه های کاراکتر (Character Set)، خود به خود رها (Escape) کردن برای آنها اجرا می گردد.
همان طور که قبلا نیز در کلید شماره 743 توضیح دادیم، برای رها (Escape) کردن Metacharacter ها، تنها کافی است که قبل از نوشتن Metacharacter مورد نظر در عبارت قاعده مند (Regular Expressions)، علامت (کاراکتر) زیر را بنویسیم :
بنابراین Metacharacter های زیر را :
باید به صورت زیر در مجموعه های کاراکتر (Character Set) به کار ببریم تا به عنوان کاراکتر (Character) معمولی مورد استفاده قرار گیرند :
دقت کنید که کاراکتر - را با کاراکتر _ اشتباه نگیرید.
به مثال زیر توجه کنید :
فرض کنید که کاراکتر $ که یک Metacharacter است را بخواهیم در یک مجموعه کاراکتر (Character Set) به کار ببریم. بر اساس توضیحات قبلی، این Metacharacter ، در درون مجموعه کاراکتر (Character Set)، نیاز به رها (Escape) کردن ندارد.
بنابراین به عنوان مثال، عبارت قاعده مند (Regular Expressions) زیر را می نویسیم :
که عبارت های زیر در آن صدق می کنند :
فرض کنید که کاراکتر علامت نقطه، یعنی علامت . که یک Metacharacter است را بخواهیم در یک مجموعه کاراکتر (Character Set) به کار ببریم. بر اساس توضیحات قبلی، این Metacharacter ، در درون مجموعه کاراکتر (Character Set)، نیاز به رها (Escape) کردن ندارد.
بنابراین به عنوان مثال، عبارت قاعده مند (Regular Expressions) زیر را می نویسیم :
که عبارت های زیر در آن صدق می کنند :
فرض کنید که کاراکتر [ که یک Metacharacter است را بخواهیم در یک مجموعه کاراکتر (Character Set) به کار ببریم. بر اساس توضیحات قبلی، این Metacharacter ، در درون مجموعه کاراکتر (Character Set)، نیاز به رها (Escape) کردن دارد. یعنی کاراکتر زیر :
باید به صورت زیر درون مجموعه کاراکتر (Character Set) نوشته شود :
بنابراین به عنوان مثال، عبارت قاعده مند (Regular Expressions) زیر را می نویسیم :
که عبارت های زیر در آن صدق می کنند :
البته امکان دارد که این چهار Metacharacter که ذکر کردیم (یعنی [ و - و ^ و \)، نیز به گونه ای در یک مجموعه کاراکتر (Character Set) به کار روند که نیاز به رها (Escape) کردن آنها نباشد، اما به طور کلی سعی کنید که اقدام به رها (Escape) کردن آنها نمایید تا مشکلی پیش نیاید.
به عنوان مثال، در عبارت قاعده مند (Regular Expressions) زیر، کاراکتر - حتی بدون رها (Escape) کردن نیز به عنوان یک کاراکتر (Character) معمولی در نظر گرفته می شود :
که عبارت زیر در آن صدق می کند :
عبارت قاعده مند (Regular Expressions) زیر نیز همانند عبارت قاعده مند (Regular Expressions) قبلی عمل می کند و فقط در آن، رها (Escape) کردن کاراکتر - انجام شده است :
یعنی عبارت زیر در آن صدق می کند :