• Janarthanan Soundararajan

Learn Regular Expression by Matching Email Pattern in Tamil. - ரெகுலர் எக்ஸ்பிரசனை கற்றுக் கொள்ளலாம்

Updated: May 21, 2019


குறிப்பு: வாசிப்பவர்களுக்கு எளிமையாக இருக்க வேண்டும் என்பதற்காக இந்த வலைதள பதிப்பில் ஆங்கில வார்த்தைகள் மற்றும் எடுத்துக்காட்டுகள் ஆங்கிலத்திலும் கொடுக்கப்பட்டுள்ளது.


ஒரு மென்பொருள் உருவக்குபவராக நான் பலமுறை வாக்கியங்களில் உள்ள எழுத்து வடிவங்களை( text patterns) கண்டறிய முயற்சித்து உள்ளேன். அதற்காக நான் புரேகிராமிங்கில்(programming) நிறைய Code-களை எழுத வேண்டியதாக இருந்தது. நிறைய loop-கள் மற்றும் Syntax-களை பயன்படுத்தினேன். எளிமையான எழுத்து வடிவங்களை கண்டறிய இம்முறை பொருத்தமானதாக இருந்தாலும், இம்முறையின் மூலம் மிகவும் சிக்கலான எழுத்து வடிவங்களை கண்டறிவது கடினமாகும். இந்த பிரச்னைக்கு சிறந்த தீர்வு ரெகுலர் எக்ஸ்பிரசன்.


தற்போது இனையத்தில் டெவலப்பர் கம்யூனிட்டிகள் மிகவும் அதிகமாக உள்ளது, ஒரு கூகுள் தேடல் மூலம் தமக்கு தேவையானவற்றை தேடி அறிந்துகொள்கின்றனர். ரெகுலர் எக்ஸ்பிரசன் பற்றி சரியாக புறியாவிடிலும் தனது code-களில் உபயோகிக்கின்றனர். எனவே இந்த பதிப்பில் ஒரு வாக்கியத்தில் உள்ள மின்னஞ்சல் வடிவத்தை(pattern) ரெகுலர் எக்ஸ்பிரசன் மூலம் எவ்வாறு கண்டறியலாம் என்று விளக்கமாக பார்ப்போம்.


ரெகுலர் எக்ஸ்பிரசன் என்றால் என்ன?

ரெகுலர் எக்ஸ்பிரசன் என்பது ஒரு தனித்துவமான, வார்த்தையை போன்ற எழுத்துக்களின் தொகுப்பாகும் (Text String), இவை தேடல் வடிவங்களை (Search patterns) வரையறுக்க பயன்படுகிறது. அனைத்து நிரலாக்க மொழிகளும் ரெகுலர் எக்ஸ்பிரசன்க்கான லைப்ரரிக்களை கொண்டுள்ளது. ஆனால் நாம் தற்பொழுது எந்த ஒரு நிரலாக்க மொழியை சார்ந்த விடயங்கள் பற்றி பார்க்கப்போவது இல்லை. இந்த பதிப்பில் ரெகுலர் எக்ஸ்பிரசன் பற்றி மட்டுமே நாம் விவரமாக பார்க்கப்போகிறோம்.


பொருந்தும் இ-மெயில் வடிவத்தை கண்டறிதல்.

இ-மெயில் இரண்டு பாகங்களை கொண்டது ஒன்று லோக்கல் பார்ட்(local part) மற்றொன்று டொமைன் பார்ட்(domain part), இவ்விரண்டு பகுதிகளுக்கும் நடுவில் ‘@’ சைன் உள்ளதை பின்வரும் எடுத்துக்காட்டில் காணலாம்.


மேலே எடுத்துக்காட்டில் குறிப்பிடப்பட்டுள்ள ரெகுலர் எக்ஸ்பிரசன் இ-மெயில் கண்டறிவதற்கான ஒன்றாகும். இ-மெயில் கண்டறிய பயன்படும் மற்ற ரெகுலர் எக்ஸ்பிரசன்களும் பெரும்பாலும் எடுத்துக்காட்டில் குறிப்பிட்டதை போலவே இருக்கும். சரி இவை ஒருபுறம் இருக்கட்டும் நாம் மேலும் விரிவாக பார்ப்போம். தொடக்கம் மற்றும் முடிவை கவனியுங்கள், தொடங்கும் பொழுது (^) கொண்டும், முடியும் பொழுது ($) வடிவத்தைக் கொண்டும் முடிகிறது. இவ்விரு எழுத்துக்களும் தனி செயல்பாடுகளை கொண்டது. (^) எழுத்து அதனை தொடர்ந்து வரும் வடிவத்தின் அமைப்பை கொண்டிருந்தாள் மட்டுமே சரியென எடுத்துக்கொள்ளும். எடுத்துக்காட்டாக ^a வடிவமானது(pattern) எழுத்து ‘a'-வில் துவங்கும் வார்த்தைகளையே மேட்ச் செய்யும்.

இதைப்போலவே ($) எழுத்து அதற்கு முன் உள்ள வடிவத்தை ஒத்திருந்தல் மட்டுமே சரியென எடுத்துக்கொள்ளும். பின்வரும் எடுத்துக்காட்டை கவனியுங்கள்.

எனவே டாலர் சைன் ஒரு வார்த்தையின் துவக்க வடிவத்தை மேட்ச் செய்யவும், கேரட் எழுத்து ஒரு வார்த்தையில் இறுதியாக உள்ள வடிவத்தை மேட்ச் செய்யவும் பயன்படுகிறது என்பதை நாம் அறிந்துகொள்ளலாம்.

இ-மெயில் பட்டேர்ன்க்கு எடுத்துக்காட்டாக குறிப்பிட்ட ரெகுலர் எக்ஸ்பிரசனில் ‘@’ எழுத்துக்கு முன்பு உள்ள எழுத்து வடிவங்களை சுற்றி சுற்று அடைப்புக்குறி(parenthesis) இருப்பதை காணலாம். அதனுள் சில கூட்டான எழுத்து வடிவங்கள் சதுர அடைப்புக்குறிக்குள் இருப்படையும் அதனை தொடர்ந்து ஒரு ‘+’ சைன் இருப்பதை காணலாம். எல்லாவற்றையும் பற்றி ஒவ்வொன்றாக விளக்கமாக பார்ப்போம்.


முதலில் சதுர அடைப்புக்குறி பற்றி தெரிந்துக்கொள்ளலாம். சதுர அடைப்புக்குறி ரெகுலர் எக்ஸ்பிரசனில் கேரக்டர் கிளாசை(character class) உருவாக்க பயன்படுகிறது. இது ஒரு வார்த்தையில் உள்ள ஒரு எழுத்தை மட்டுமே மேட்ச் செய்யும். எடுத்துக்காட்டாக ‘soup’ மற்றும் ‘soap’ என்கிற இரண்டு ஆங்கில வார்த்தைகளை எடுத்துக்கொள்ளலாம். இவ்விரண்டு வார்த்தைகளிலும் மூன்றாம் நிலையில் உள்ள எழுத்துக்கள் மட்டுமே மாறுபடுகின்றன. இவ்விரு வார்த்தைகளையும் ‘so[au]p’ என்ற ரெகுலர் எக்ஸ்பிரசன் மூலம் மேட்ச் செய்யமுடியும்.

கேரக்டர் கிளாசை தொடர்ந்து இருக்கும் ‘+’ குறியீடு குவான்டிபையர்(quantifier) என்று அழைக்கபடுகிறது. இதன் அர்த்தம் கேரக்டர் கிளாசில் உள்ள எழுத்துக்கள் ஒன்று அல்லது ஒன்றிற்கும் மேற்ப்பட்ட முறை வரலாம் என்பதாகும். மொத்தம் ஆறு வகையான குவான்டிபையர்கள் ரெகுலர் எக்ஸ்பிரசனில் உள்ளன, அவை கிரீடி குவான்டிபையர்(greedy quantifier) மற்றும் லேசி குவான்டிபையர்(lazy quantifier) என்று இரு வகைகளாகப் பிரிக்கப்படுகின்றன. பின்வரும் வலைதள பதிப்புகளில் குவான்டிபையர்களை பற்றி விரிவாக பார்ப்போம்.


சரி இப்பொழுது ‘@’ எழுத்துக்கு வலது புறம் உள்ள எழுத்து வடிவங்களை(டொமைன் பார்ட்) பற்றி பார்ப்போம். சுற்று அடைப்புக்குறி வடிவக் குழுவை (group) உருவாக்க பயன்படுகிறது. இதில் இரண்டு குழுக்கள் டாட் (.) மூலம் பிரிக்கப்படுகின்றன. ரெகுலர் எக்ஸ்பிரசனில் '.' குறியீடு சிறப்பு தன்மை கொண்டது, இது வார்த்தைகளில் உள்ள எதேனும் ஒரு எண் அல்லது எழுத்தை மேட்ச் செய்ய பயன்படுகிறது. எனவே இதனை டாட்(.) ஆகவே ரெகுலர் எக்ஸ்பிரசன் கருதுவதற்கு நாம் பின்சாய்வுக்கோட்டை(backslash) பயன்படுத்த வேண்டும்.

ரெகுலர் எக்ஸ்பிரசனில் backslash சிறப்பு தன்மை கொண்டது, இது மற்ற சிறப்பு தன்மை கொண்ட எழுத்துக்களை எஸ்கேப்(escape) செய்ய பயன்படுகிறது.

‘@’ மற்றும் ‘.’ இவற்றிற்கு நடுவில் உள்ள வடிவக்குளுவில் மூன்று கேரக்டர் கிளாஸ்கள் உள்ளன . முதல் மற்றும் கடைசி கேரக்டர் கிளாஸ்களை தொடர்ந்து குவான்டிபையர் வரவில்லை எனவே அவை ஒரு எழுத்தை மட்டுமே குறிப்பிட்ட நிலைகளில் அனுமதிக்கும். நடுவில் உள்ளது ஒன்று அல்லது ஒன்றிற்கும் மேற்பட்ட எழுத்துக்களை மேட்ச் செய்யும். டாட்(.) -க்கு வலது புறத்தில் உள்ள கேரக்டர் கிளாசை தொடர்ந்து உள்ள குவான்டிபையர் இரண்டு அல்லது இரண்டிற்கும் மேற்ப்பட்ட எழுத்துக்களை அனுமதிக்கும் என்பதை குறிப்பிடுகிறது.

இந்த வலைதள பதிப்பு பயனுள்ளதாக இருக்கும் என்று நம்புகிறேன். வாசித்ததற்கு நன்றி!

#learnregex #regex #learnregexintamil #regexintamil

80 views1 comment

©2020 by Techaaroorian.

  • Pinterest
  • Twitter Social Icon
  • Facebook
  • YouTube