இலவச மாற்றி

ரெஜெக்ஸ் சோதனையாளர்

உங்கள் உலாவியில் வழக்கமான வெளிப்பாடுகளை உடனடியாகச் சோதித்து பிழைத்திருத்தம் செய்யவும். போட்டிகளை முன்னிலைப்படுத்தவும், பிடிப்பு குழுக்களைப் பார்க்கவும் மற்றும் மாற்று பயன்முறையைப் பயன்படுத்தவும் - இலவசம் மற்றும் தனிப்பட்டது.

//g
கொடிகள்:

இந்த கருவி பற்றி

வழக்கமான வெளிப்பாடுகள் என்பது உரையில் உள்ள வடிவங்களைப் பொருத்துவதற்கான டொமைன் சார்ந்த மொழியாகும். அவை 1968 ஆம் ஆண்டு முதல் கம்ப்யூட்டிங்கின் ஒரு பகுதியாக இருந்து, இப்போது ஒவ்வொரு நவீன நிரலாக்க மொழி, உரை திருத்தி மற்றும் கட்டளை வரி தேடல் கருவியிலும் கட்டமைக்கப்பட்டுள்ளன. தொடரியல் சுருக்கமானது, ஆனால் பிழை-ஏற்படும்: சிறிய மாற்றங்கள் நுட்பமாக வேறுபட்ட பொருந்தக்கூடிய நடத்தையை உருவாக்குகின்றன, மேலும் சிக்கலான வெளிப்பாடுகள் விரைவாக படிக்க முடியாததாகிவிடும். பேட்டர்னைத் திருத்தும்போது, ​​நிகழ்நேரத்தில் பொருத்தங்களைக் காட்டும் சோதனையாளர், ரெஜெக்ஸை உருவாக்க மற்றும் சரிபார்க்க மிகவும் பயனுள்ள வழியாகும்.

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

ரெஜெக்ஸ் தொடரியல் இயந்திரங்களுக்கு இடையில் நுட்பமாக மாறுபடும். ஜாவாஸ்கிரிப்ட் ECMAScript விவரக்குறிப்பைப் பின்பற்றுகிறது; Python, PCRE (PHP மற்றும் பலரால் பயன்படுத்தப்படுகிறது), ஜாவா மற்றும் Go ஒவ்வொன்றும் அவற்றின் சொந்த பேச்சுவழக்குகளை ஒன்றுடன் ஒன்று ஆனால் ஒரே மாதிரியான அம்சங்களைக் கொண்டிருக்கவில்லை. இங்கு உருவாக்கப்பட்ட வடிவங்கள் ECMAScript தொடரியல் பயன்படுத்துகின்றன; குறுக்கு-இயந்திரம் பெயர்வுத்திறனுக்கு ஒவ்வொரு இலக்கின் ஆவணங்களையும் சரிபார்க்க வேண்டும்.

ரீஜெக்ஸ் சோதனையாளரை ஏன் பயன்படுத்த வேண்டும்

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

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

பயன்படுத்துவது எப்படி

பேட்டர்னை உள்ளிடவும், சோதனை உள்ளீட்டை உள்ளிடவும், நேரலையில் ஹைலைட் செய்யப்பட்ட போட்டிகளைப் பார்க்கவும்.

  1. உங்கள் வடிவத்தை உள்ளிடவும்: பேட்டர்ன் புலத்தில் ரெஜெக்ஸ் பேட்டர்னை டைப் செய்யவும். நேரடியான ரீஜெக்ஸ் (/முறை/கொடிகள்) மற்றும் பேட்டர்ன்-மட்டும் படிவங்கள் இரண்டும் வேலை செய்கின்றன; கொடிகள் உள்ளீடு மூலம் கொடிகளை அமைக்கலாம்.
  2. சோதனை உள்ளீட்டைச் சேர்க்கவும்: பேட்டர்ன் பொருத்தப்பட வேண்டிய மாதிரி உரையை ஒட்டவும் (மேலும் அது பொருந்தாத உரை). சோதனையாளர் உள்ளீட்டிற்கு எதிராக வடிவத்தை இயக்குகிறார் மற்றும் பொருத்தங்களை முன்னிலைப்படுத்துகிறார்.
  3. கொடிகளை அமைக்கவும்: பொதுவான கொடிகள்: g (உலகளாவிய, அனைத்து பொருத்தங்களையும் கண்டுபிடி), i (கேஸ்-சென்சிட்டிவ்), m (மல்டிலைன், ^ மற்றும் $ மேட்ச் லைன் தொடக்கங்கள்/முடிவுகள்), s (டோட்டால், . புதிய வரிகளுடன் பொருந்துகிறது), u (யூனிகோட்).
  4. முடிவுகளை ஆய்வு செய்யவும்: ஒவ்வொரு போட்டியும் உள்ளீட்டில் சிறப்பிக்கப்படுகிறது. பிடிப்பு குழுக்கள் குழு அட்டவணை மற்றும் மதிப்பு கொண்ட பட்டியலில் தோன்றும். சோதனையாளர் போட்டிகளின் எண்ணிக்கை மற்றும் வடிவத்தில் ஏதேனும் தொகுத்தல் பிழைகளைக் காட்டுகிறார்.

பொதுவான பயன்பாட்டு வழக்குகள்

தொழில்நுட்ப விவரங்கள்

JavaScript regex ECMAScript விவரக்குறிப்பைப் பின்பற்றுகிறது. முக்கிய அம்சங்கள்: எழுத்து வகுப்புகள் ([abc], [^abc]), குவாண்டிஃபையர்ஸ் (*, +, ?, {n,m}), மாற்று (|), குழுவாக்கம் ((...)), பிடிப்பு மற்றும் பிடிக்காத குழுக்கள், லுக்ஹெட் மற்றும் லுக்பீஹைண்ட் (நவீன இயந்திரங்கள்), பின்குறிப்புகள், பெயரிடப்பட்ட குழுக்கள், யூனிகோட் செட் எஸ்கேப்ஸ் வரிசைகள், எஸ்கேப்களின் நிலையான.

PCRE மற்றும் Python இலிருந்து முக்கிய வேறுபாடுகள்: ஜாவாஸ்கிரிப்டில் (2018+) லுக்பீஹைண்ட் ஆதரவு சமீபத்தியது; பெயரிடப்பட்ட குழுக்கள் (?<பெயர்>...) தொடரியல்; சில யூனிகோட் எஸ்கேப்களுக்கு u கொடி சரியாக வேலை செய்ய வேண்டும். குறுக்கு மொழி பயன்பாட்டிற்காக வடிவமைக்கப்பட்ட வடிவங்கள் ஒவ்வொரு இலக்கின் ஆவணங்களுக்கும் எதிராக சரிபார்க்கப்பட வேண்டும்.

செயல்திறன்: பேக்டிராக்கிங்-அடிப்படையிலான ரீஜெக்ஸ் என்ஜின்கள் (பெரும்பாலான ஜாவாஸ்கிரிப்ட் உட்பட) சில நோயியல் வடிவங்களில் பேரழிவு தரும் பின்னடைவைக் கொண்டிருக்கலாம். சோதனையாளரைத் தொங்கவிடுகின்ற சோதனைகள், வடிவத்திற்கு எளிமைப்படுத்தல் தேவை என்பதற்கான அறிகுறியாகும் - பொதுவாக உள்ளமைக்கப்பட்ட அளவீடுகள் மற்றும் தெளிவற்ற மாற்றங்களைத் தவிர்ப்பதன் மூலம்.

சிறந்த நடைமுறைகள்

அடிக்கடி கேட்கப்படும் கேள்விகள்

இந்த கருவி எந்த ரெஜெக்ஸ் சுவையை ஆதரிக்கிறது?
இது ஜாவாஸ்கிரிப்ட்டின் உள்ளமைக்கப்பட்ட RegExp இன்ஜினைப் பயன்படுத்துகிறது, இது லுக்ஹெட்ஸ், லுக் பிஹைண்ட்ஸ் (நவீன உலாவிகளில்), பிடிப்பு குழுக்கள் மற்றும் யூனிகோட் சொத்து தப்பித்தல் உள்ளிட்ட நிலையான தொடரியல் ஆதரிக்கிறது.
ரீஜெக்ஸ் மாற்றுகளை நான் சோதிக்கலாமா?
ஆம். மாற்று வடிவத்தை உள்ளிட, மாற்று பயன்முறைக்கு மாறவும். நீங்கள் $1, $2, போன்றவற்றைப் பிடிப்பு குழு பின்-குறிப்புகளையும், பெயரிடப்பட்ட குழுக்களுக்கு $<name> ஐயும் பயன்படுத்தலாம்.
பைதான்/PHP இல் உள்ளதை விட எனது ரீஜெக்ஸ் ஏன் இங்கு வித்தியாசமாக பொருந்துகிறது?
வெவ்வேறு நிரலாக்க மொழிகள் சற்று வித்தியாசமான ரெஜெக்ஸ் என்ஜின்களைக் கொண்டுள்ளன. JavaScript ஆனது உடைமை அளவுகோல்கள் அல்லது சில PCRE-குறிப்பிட்ட அம்சங்களை ஆதரிக்காது. முக்கிய தொடரியல் (எழுத்து வகுப்புகள், அளவுகோல்கள், குழுக்கள்) மொழிகள் முழுவதும் ஒரே மாதிரியாக இருக்கும்.
கருவி எனது ரீஜெக்ஸ் வடிவங்களைச் சேமிக்கிறதா?
இல்லை. எதுவும் சேமிக்கப்படவில்லை அல்லது அனுப்பப்படவில்லை. கருவி முழுவதுமாக உங்கள் உலாவியில் இயங்கும். ரெஜெக்ஸ் சரத்தை நகலெடுப்பதன் மூலம் பேட்டர்ன்களை புக்மார்க் செய்யலாம் அல்லது பகிரலாம்.
ஒரு சிறப்பு பாத்திரத்தை நான் எவ்வாறு பொருத்துவது?
பின்சாய்வு மூலம் தப்பிக்கவும். எழுத்துப் புள்ளியைப் பொருத்த: \. நேரடியான பின்சாய்வுக்கு பொருந்த: \\. எழுத்து வகுப்புகளின் உள்ளே [...], பெரும்பாலான சிறப்பு எழுத்துக்கள் அவற்றின் அர்த்தத்தை இழக்கின்றன.
சோதனையாளர் சர்வரில் இயங்குகிறதா?
இல்லை. நேட்டிவ் RegExp ஆப்ஜெக்ட்டைப் பயன்படுத்தி உங்கள் உலாவியில் பேட்டர்ன் தொகுத்தல் மற்றும் பொருத்துதல் ஆகியவை நடக்கும்.
ஜாவாஸ்கிரிப்ட் அல்லாத என்ஜின்களுக்கான பேட்டர்ன்களை நான் சோதிக்கலாமா?
பெரும்பாலும். எளிய வடிவங்களுக்கு முக்கிய இயந்திரங்கள் ஒப்புக்கொள்கின்றன. மேம்பட்ட அம்சங்களுக்கு (லுக் பிஹைண்ட், அணுக் குழுக்கள், உடைமை அளவீடுகள், யூனிகோட் சொத்து தப்பித்தல்), இலக்கு இயந்திரத்தின் ஆவணங்களை உறுதிப்படுத்தவும்.
இது மிகப் பெரிய உள்ளீட்டைக் கையாளுகிறதா?
சில மெகாபைட்கள் வரை சீராக வேலை செய்யும். பெரிய உள்ளீடுகள் உலாவியின் வேகத்தைக் குறைக்கலாம் அல்லது செயலிழக்கச் செய்யலாம், குறிப்பாக பேட்டர்ன்கள் பேக் டிராக்கிங்கிற்கு வாய்ப்புள்ளது.