ஜாவாஸ்கிரிப்ட் (JavaScript) ரெகுலர் எக்ஸ்பிரஷன்களைப் பயன்படுத்தி ஒரு குறிப்பிட்ட உரையில் உள்ள வடிவங்களை அடையாளம் காண்பது, இணைய மேம்பாட்டில் மிக முக்கியமான ஒரு பணியாகும். "ரெஜெக்ஸ் (Regex) டெஸ்டர்" கருவியானது, நீங்கள் எழுதும் ரெகுலர் எக்ஸ்பிரஷன் வடிவங்கள் மாதிரி உரையுடன் எவ்வாறு பொருந்துகின்றன என்பதை உங்கள் உலாவியிலேயே நேரடியாகச் சோதித்துப் பார்க்க உதவுகிறது.
இந்தக் கருவி, வடிவத்தின் தன்மைகளை உடனுக்குடன் பகுப்பாய்வு செய்து, பொருத்தங்களையும் (matches) கேப்சர் குழுக்களையும் (capture groups) உடனடியாக ஹைலைட் செய்து காட்டுகிறது. இதன் மூலம், உங்கள் குறியீட்டில் ரெஜெக்ஸ் வடிவங்களைச் செயல்படுத்துவதற்கு முன்பாகவே அவற்றின் துல்லியத்தன்மையை நீங்கள் உறுதிப்படுத்திக் கொள்ள முடியும்.
உள்ளீடுகளும் அவற்றின் செயல்பாடுகளும்
இந்தக் கருவியைப் பயன்படுத்துவதற்கு இரண்டு முதன்மை உள்ளீடுகளும், பொருத்தக் கட்டுப்பாடுகளைத் தீர்மானிக்கும் கொடிகளும் (flags) தேவைப்படுகின்றன:
- வடிவம் (Pattern): நீங்கள் சோதிக்க விரும்பும் ரெகுலர் எக்ஸ்பிரஷன் வடிவம் ஆகும். உதாரணமாக, எண்களைக் கண்டறிய
\d+போன்ற வடிவங்களை இங்கு உள்ளிடலாம். - கொடிகள் (Flags): ரெகுலர் எக்ஸ்பிரஷன் தேடலின் தன்மையை மாற்றியமைக்க பின்வரும் கொடிகளை நீங்கள் தேர்வு செய்யலாம்:
- g (குளோபல்): முதல் பொருத்தத்தை மட்டும் தேடாமல், உரை முழுவதும் உள்ள அனைத்து பொருத்தங்களையும் கண்டறியும்.
- i (கேஸ் இன்சென்சிடிவ்): ஆங்கிலப் பெரிய எழுத்து மற்றும் சிறிய எழுத்துகளுக்கு (case) இடையிலான வேறுபாட்டைப் புறக்கணிக்கும்.
- m (மல்டிலைன்):
^மற்றும்$ஆகிய குறியீடுகளை முழு உரையின் தொடக்க மற்றும் முடிவாகக் கருதாமல், ஒவ்வொரு தனித்தனி வரியின் தொடக்கத்திலும் முடிவிலும் பொருந்தச் செய்யும். - s (புள்ளி புதிய வரியுடன் பொருந்தும்): பொதுவாகப் புதிய வரிகளைத் தவிர்க்கும் புள்ளி (.) குறியீட்டை, வரியின் முறிவுகளுடனும் (line breaks) பொருந்தச் செய்யும்.
- சோதனை சரம்: உங்கள் வடிவத்தைச் சோதிக்க வேண்டிய மாதிரி உரை. இதன் இயல்புநிலை வழிகாட்டி உரை "உங்கள் வடிவத்தை சோதிக்க உரையை ஒட்டவும் அல்லது தட்டச்சு செய்யவும்" என்பதாகும்.
வெளியீடுகளும் வரம்புகளும்
உள்ளீடுகளை வழங்கியவுடன், இந்தக் கருவி பின்வரும் வெளியீடுகளைத் திரையில் காண்பிக்கும்:
- ஹைலைட் செய்யப்பட்ட பொருத்தங்கள்: சோதனை சரத்தில் உங்கள் வடிவத்துடன் பொருந்தும் பகுதிகள் அனைத்தும் வண்ணக் குறியீட்டுடன் ஹைலைட் செய்யப்பட்டு காட்டப்படும்.
- பொருத்தங்கள்: கண்டறியப்பட்ட அனைத்து பொருத்தங்களின் விரிவான பட்டியல். இதில் ஒவ்வொரு பொருத்தத்திற்கும் உட்பட்ட "குழு
{n}" (கேப்சர் குழுக்கள்) விவரங்களும் அடங்கும். - பொருத்தங்கள்:
{count}: கண்டறியப்பட்ட மொத்த பொருத்தங்களின் எண்ணிக்கை. - எழுத்துக்கள்: சோதனை சரத்தில் உள்ள மொத்த எழுத்துக்களின் எண்ணிக்கை.
பொருத்தங்களைச் செயலாக்கும்போது சில குறிப்பிட்ட விதிகள் மற்றும் வரம்புகள் பின்பற்றப்படுகின்றன:
- 'g' (குளோபல்) கொடி தேர்ந்தெடுக்கப்படாதபோது, சோதனை சரத்தின் முதல் பொருத்தம் மட்டுமே கண்டறியப்பட்டுத் தரப்படும்.
- 'g' கொடி தேர்ந்தெடுக்கப்பட்டால், அதிகபட்சமாக 1,000 பொருத்தங்கள் வரை மட்டுமே கண்டறியப்படும். மேலும், அதிகபட்சமாக 100 பொருத்தம் காட்டும் அட்டைகள் (match cards) மட்டுமே திரையில் காட்டப்படும். இந்த வரம்பைக் கடக்கும்போது "முதல்
{max}-ஐக் காட்டுகிறது." என்ற குறிப்பு தோன்றும். - பொருத்தங்கள் எதுவும் இல்லாதபோது "பொருத்தங்கள் எதுவும் இல்லை." என்ற செய்தி காட்டப்படும்.
- உள்ளிடப்பட்ட ரெகுலர் எக்ஸ்பிரஷன் தொடரியல் தவறாக இருந்தால், "செல்லுபடியற்ற ரெகுலர் எக்ஸ்பிரஷன் (regular expression)." என்ற பிழைச் செய்தி தோன்றும்.
- "அழி" பொத்தானைக் கிளிக் செய்வதன் மூலம் உள்ளீடுகளை நீக்கலாம், அப்போது "அழிக்கப்பட்டது." என்ற செய்தி திரையில் தோன்றும்.
பேரழிவு தரும் பேக்டிராக்கிங் மற்றும் செயல்திறன் மேம்பாடு
ரெகுலர் எக்ஸ்பிரஷன் எழுதும்போது ஏற்படும் பொதுவான தவறுகளில் ஒன்று பேரழிவு தரும் பேக்டிராக்கிங் (catastrophic backtracking) ஆகும். சிக்கலான அல்லது நெஸ்டட் ரிப்பீட்டிஷன்களைக் கொண்ட வடிவங்களைச் சோதிக்கும்போது, பொருத்தமில்லாத உரைக்கு முடிவற்ற சேர்க்கைகளை என்ஜின் சோதிக்க முயல்வதால் உலாவி முடங்கக்கூடும்.
இதைத் தவிர்க்க, இந்தத் தேடல் கருவியில் ஒரு பாதுகாப்பு அம்சம் உள்ளது. ஒரு வடிவத்தைக் கணக்கிட 2 வினாடிகளுக்கு மேல் எடுத்தால், கணக்கீடு உடனடியாக நிறுத்தப்பட்டு, "இந்த வடிவம் இயங்குவதற்கு அதிக நேரம் எடுக்கிறது — இது மிகவும் மெதுவாக இருக்கலாம். அதை எளிமைப்படுத்த முயற்சிக்கவும்." என்ற எச்சரிக்கை செய்தி காட்டப்படும். இத்தகைய சூழ்நிலைகளில் வடிவங்களை எளிமைப்படுத்துவது அவசியமாகும்.
தரவுப் பாதுகாப்பு மற்றும் தனியுரிமை
இந்தக் கருவியில் நீங்கள் உள்ளிடும் சோதனை உரைகளோ அல்லது ரெகுலர் எக்ஸ்பிரஷன் வடிவங்களோ எந்தவொரு வெளிப்புற சேவையகத்திற்கும் அனுப்பப்படுவதில்லை.
உங்கள் வடிவமும் உரையும் உங்கள் உலாவியிலேயே சோதிக்கப்படுகின்றன. BroBroGo-விற்கு எதுவும் பதிவேற்றப்படுவதில்லை. இதனால் முக்கியமான அல்லது தனிப்பட்ட தரவுகளைக் கொண்டு வடிவங்களைச் சோதிக்கும்போதும் தரவுப் பாதுகாப்பு முழுமையாகப் பேணப்படுகிறது.
அடிக்கடி கேட்கப்படும் கேள்விகள் (FAQ)
கேள்வி: எனது உரையை இங்கே ஒட்டுவது பாதுகாப்பானதா?
பதில்: ஆம். பொருத்தம் முற்றிலும் உங்கள் உலாவியிலேயே நடக்கிறது — BroBroGo-விற்கு எதுவும் அனுப்பப்படுவதில்லை.
கேள்வி: g/i/m/s கொடிகள் (flags) எதைக் குறிக்கின்றன?
பதில்: g என்பது முதல் பொருத்தத்தை மட்டும் தேடாமல் அனைத்து பொருத்தங்களையும் கண்டறியும். i என்பது கேஸ்-ஐப் புறக்கணிக்கும் (ignore case). m என்பது ^ மற்றும் $ ஆகியவற்றை முழு சரத்திற்குப் பதிலாக ஒவ்வொரு வரியின் தொடக்கத்திலும் முடிவிலும் பொருந்தச் செய்யும். s என்பது புள்ளி (.) வரியின் முறிவுகளையும் (line breaks) பொருந்தச் செய்ய அனுமதிக்கும்.
கேள்வி: எனது வடிவம் அதிக நேரம் எடுப்பதாக ஏன் கூறியது?
பதில்: சில வடிவங்கள் பேரழிவு தரும் பேக்டிராக்கிங்கை (catastrophic backtracking) தூண்டுகின்றன — என்ஜின் கைவிடுவதற்கு முன்பு அதிவேக சேர்க்கைகளை முயற்சிக்கிறது, இது உலாவியின் தாவலை முடக்கலாம். அது நடந்தால், இந்த கருவி 2 வினாடிகளுக்குப் பிறகு பொருத்தத்தை ரத்து செய்கிறது, இதனால் பக்கமே முடங்குவதில்லை. (a+)+ போன்ற நெஸ்டட் ரிப்பீட்டிஷன்களை எளிமைப்படுத்த முயற்சிக்கவும்.