مجموعه های کاراکتر کوتاه (Shorthand Character Set) (شامل d\ و w\ و s\ و D\ و W\ و S\)، در عبارات قاعده مند (Regular Expressions)
در کلید شماره 3060 و کلید شماره 3061 ، در مورد مجموعه های کاراکتر (Character Set) صحبت کردیم که برای تعیین مجموعه ای از کاراکترها (Character) به کار می رفتند (تعدادی کاراکتر را به صورت یک مجموعه داشتیم که برای دو حالت انتخاب از این مجموعه کاراکتر یا عدم انتخاب از این مجموعه کاراکتر، به کار می رفتند).
اما برخی از مجموعه های کاراکتر (Character Set) که دارای کاربرد زیادی در عبارات قاعده مند (Regular Expressions) می باشند را به صورت کوتاه تر، یعنی تنها با 2 علامت (کاراکتر)، نیز می توانیم نمایش دهیم تا به کار بردن آنها در عبارات قاعده مند (Regular Expressions)، ساده تر باشد و عبارات قاعده مند (Regular Expressions) را طولانی نکنند.
بنابراین اینگونه معادل های کوتاه برای این مجموعه های کاراکتر (Character Set) را مجموعه های کاراکتر کوتاه (Shorthand Character Set) می نامیم و آنها را در جدول زیر نمایش داده ایم :
مجموعه کاراکتر (Character Set) معادل | معنی | مجموعه کاراکتر کوتاه (Shorthand Character Set) |
---|---|---|
[0-9] | بودن به صورت کاراکتر عددی (Digit) | d\ |
[_a-zA-Z0-9] | بودن به صورت کاراکتر ساخت کلمه (Word Character) | w\ |
[t\r\n\ ] | بودن به صورت کاراکتر فضای خالی (Whitespace) | s\ |
[0-9^] | نبودن به صورت کاراکتر عددی (Not Digit) | D\ |
[_a-zA-Z0-9^] | نبودن به صورت کاراکتر ساخت کلمه (Not Word Character) | W\ |
[t\r\n\ ^] | نبودن به صورت کاراکتر فضای خالی (Not Whitespace) | S\ |
منظور از کاراکترهای عددی (Digit)، کاراکترهای زیر می باشد :
منظور از کاراکترهای ساخت کلمه (Word Character)، کاراکترهای زیر می باشد :
منظور از کاراکترهای فضای خالی (Whitespace)، کاراکترهای زیر می باشد :
که در خط اول آن، کاراکتر فضای خالی Space را ذکر کرده ایم، که قابل مشاهده نیست.
دقت کنید که کاراکتر _ را با کاراکتر - اشتباه نگیرید.
مجموعه های کاراکتر کوتاه (Shorthand Character Set)، در موتورهای مدرن عبارات قاعده مند (Modern regex engine) پشتیبانی می شوند، اما در برخی ابزارهای Unix پشتیبانی نمی شوند.
به مثال زیر توجه کنید :
برای اشاره به همه کاراکترهای عددی (اعداد) موجود در یک متن، عبارت قاعده مند (Regular Expressions) زیر را می نویسیم :
عبارت قاعده مند (Regular Expressions) بالا، به کاراکترهای (Character) زیر اشاره می کند :
عبارت قاعده مند (Regular Expressions) زیر نیز دقیقا همان نتیجه را خواهد داشت (به عنوان معادل آن) :
برای اشاره به همه کاراکترها (Character)، به جز کاراکترهای عددی (اعداد) موجود در یک متن، عبارت قاعده مند (Regular Expressions) زیر را می نویسیم :
عبارت قاعده مند (Regular Expressions) بالا، به همه کاراکترها (Character) اشاره می کند، به جز کاراکترهای (Character) زیر :
عبارت قاعده مند (Regular Expressions) زیر نیز دقیقا همان نتیجه را خواهد داشت (به عنوان معادل آن) :
برای اشاره به تمامی عبارت های به شکل اعداد 2 رقمی موجود در یک متن، عبارت قاعده مند (Regular Expressions) زیر را می نویسیم :
به عنوان مثال، عبارت های زیر در آن صدق می کنند :
و برای اشاره به تمامی عبارت های به شکل اعداد 3 رقمی موجود در یک متن، عبارت قاعده مند (Regular Expressions) زیر را می نویسیم :
به عنوان مثال، عبارت های زیر در آن صدق می کنند :
برای اشاره به تمامی عبارت های به شکل کلمات 2 کاراکتری (شامل کاراکترهای سازنده کلمات، یعنی حروف الفبای بزرگ و کوچک و کاراکترهای عددی و علامت _) موجود در یک متن، عبارت قاعده مند (Regular Expressions) زیر را می نویسیم :
به عنوان مثال، عبارت های زیر در آن صدق می کنند :
و برای اشاره به تمامی عبارت های به شکل کلمات 3 کاراکتری (شامل کاراکترهای سازنده کلمات، یعنی حروف الفبای بزرگ و کوچک و کاراکترهای عددی و علامت _) موجود در یک متن، عبارت قاعده مند (Regular Expressions) زیر را می نویسیم :
به عنوان مثال، عبارت های زیر در آن صدق می کنند :