REGEXP தொடரியல் விரைவான குறிப்பு¶
இந்த சரிபார்ப்பு பட்டியல் காலிபரின் பெரும்பாலான பகுதிகளில் கிடைக்கும் Regexp இயந்திரத்தின் சில பகுதிகளை நினைவில் கொள்ள பொதுவாக பயன்படுத்தப்படும்/கடினமாக உள்ளது.
எழுத்து வகுப்புகள்¶
எழுத்துக்குறி வகுப்புகள் சுருக்கமாக கதாபாத்திரங்களின் வெவ்வேறு குழுக்களைக் குறிக்க பயனுள்ளதாக இருக்கும்.
எடுத்துக்காட்டுகள்:
** பிரதிநிதித்துவம் ** |
வர்க்கம் |
`` [a-z] `` |
சிறிய ஆங்கில எழுத்துக்கள். உச்சரிப்பு குறி மற்றும் தசைநார்கள் கொண்ட எழுத்துக்கள் இல்லை |
`` [A-Z0-9] `` |
A முதல் Z வரை அல்லது எண்கள் 0 முதல் 9 வரையிலான சிறிய எழுத்துக்கள் |
`` [A-za-z-] `` |
பெரிய எழுத்துக்கள் அல்லது சிறிய எழுத்துக்கள், அல்லது ஒரு கோடு. ஒரு வகுப்பில் கோடு சேர்க்க, நீங்கள் அதை ஆரம்பத்திலோ அல்லது முடிவிலோ வைக்க வேண்டும், இதனால் அதை ஹைபனுடன் குழப்பக்கூடாது, இது பலவிதமான எழுத்துக்களைக் குறிப்பிடுகிறது |
`` [^0-9] `` |
ஒரு இலக்கத்தைத் தவிர வேறு எந்த எழுத்தும். வகுப்பின் தொடக்கத்தில் வைக்கப்பட்டுள்ள கேரட் (^) வகுப்பின் எழுத்துக்களை விலக்குகிறது (பூர்த்தி செய்யப்பட்ட வகுப்பு) |
|
சிறிய எழுத்துக்கள். ஒரு வகுப்பில் ஒரு வகுப்பைச் சேர்க்கலாம். எழுத்துக்கள் `` --`` அவற்றைப் பின்தொடர்வதை விலக்கவும் |
|
அனைத்து கடிதங்களும் (வெளிநாட்டு உச்சரிக்கப்பட்ட எழுத்துக்கள் உட்பட). சுருக்கமான வகுப்புகள் ஒரு வகுப்பிற்குள் பயன்படுத்தப்படலாம் |
உதாரணமாக:
<[^<>]+> to select an HTML tag
சுருக்கெழுத்து எழுத்து வகுப்புகள்¶
** பிரதிநிதித்துவம் ** |
வர்க்கம் |
`` d`` |
ஒரு இலக்க ([0-9] `போன்றவை) |
`` D`` |
எந்த நோயுற்ற தன்மை அல்லாத எழுத்து (`` [^0-9] ``) |
`` w`` |
உச்சரிப்பு குறி மற்றும் தசைநார்கள் கொண்ட எழுத்துக்கள் உட்பட ஒரு எண்ணெழுத்து எழுத்து (`` [a-za-z0-9] ``) |
`` W`` |
எந்த “சொல் அல்லாத” பாத்திரம் |
`` s`` |
இடம், உடைக்காத இடம், தாவல், வருவாய் வரி |
`` S`` |
எந்த “வெண்மையான அல்லாத” பாத்திரம் |
`` .`` |
நியூலைன் தவிர வேறு எந்த கதாபாத்திரமும். நியூலைன் எழுத்தை சேர்க்க “டாட் ஆல்” தேர்வுப்பெட்டி அல்லது `` (? கள்) `` regexp மாற்றியமைப்பைப் பயன்படுத்தவும். |
அளவு¶
** அளவு ** |
** குவாண்டிஃபையருக்கு முந்தைய வெளிப்பாட்டின் நிகழ்வுகளின் எண்ணிக்கை ** |
``? `` |
0 அல்லது 1 வெளிப்பாட்டின் நிகழ்வு. `` {0,1} `` |
|
வெளிப்பாட்டின் 1 அல்லது அதற்கு மேற்பட்ட நிகழ்வுகள். `` {1,} `` |
|
வெளிப்பாட்டின் 0, 1 அல்லது அதற்கு மேற்பட்ட நிகழ்வுகள். `` {0,} `` |
{n} ` |
வெளிப்பாட்டின் சரியாக n நிகழ்வுகள் |
`` {நிமிடம், அதிகபட்சம்} `` |
சேர்க்கப்பட்ட குறைந்தபட்ச மற்றும் அதிகபட்ச மதிப்புகளுக்கு இடையிலான நிகழ்வுகளின் எண்ணிக்கை |
`` {நிமிடம்,} `` |
சேர்க்கப்பட்ட குறைந்தபட்ச மதிப்பு மற்றும் எல்லையற்ற இடங்களுக்கு இடையிலான நிகழ்வுகளின் எண்ணிக்கை |
`` {, அதிகபட்சம்} `` |
0 மற்றும் அதிகபட்ச மதிப்புக்கு இடையிலான நிகழ்வுகளின் எண்ணிக்கை சேர்க்கப்பட்டுள்ளது |
பேராசை¶
இயல்பாக, குவாண்டிஃபையர்களுடன், வழக்கமான வெளிப்பாடு இயந்திரம் பேராசை கொண்டது: இது தேர்வை முடிந்தவரை நீட்டிக்கிறது. இது பெரும்பாலும் ஆச்சரியங்களை ஏற்படுத்துகிறது. ``? `` சோம்பேறியாக மாற்ற ஒரு அளவைப் பின்பற்றுகிறது. ஒரே வெளிப்பாட்டில் இரண்டை வைப்பதைத் தவிர்க்கவும், இதன் விளைவாக கணிக்க முடியாதது.
கூடு கட்டும் அளவுகோல்களைப் பற்றி ஜாக்கிரதை, எடுத்துக்காட்டாக, `` (அ*)*`` என்ற முறை, இது செயலாக்க நேரத்தை அதிவேகமாக அதிகரிக்கிறது.
மாற்றீடு¶
வழக்கமான வெளிப்பாட்டில் உள்ள `` | `` எழுத்து ஒரு தர்க்கரீதியான `` அல்லது``. இதன் பொருள் முந்தைய அல்லது பின்வரும் வெளிப்பாடு பொருந்தக்கூடும்.
விலக்கு¶
முறை 1
`` pattern_to_exclude (*SKIP) (*தோல்வி) | Pattern_to_Select`
உதாரணமாக:
`` "பிளாப்லா" (*ஸ்கிப்) (*தோல்வி) | பிளாப்லா``
பிளாப்லா அல்லது "பிளப்லா அல்லது பிளப்லா" இன் சரங்களில் பிளாப்லாவைத் தேர்ந்தெடுக்கிறது, ஆனால் "பிளாப்லா" இல் இல்லை.
முறை 2
`` pattern_to_exclude k | (pattern_to_select) `
`` "பிளாப்லா" கே | (பிளாப்லா) ``
பிளாப்லா அல்லது "பிளப்லா அல்லது பிளப்லா" இன் சரங்களில் பிளாப்லாவைத் தேர்ந்தெடுக்கிறது, ஆனால் "பிளாப்லா" இல் இல்லை.
நங்கூரர்கள்¶
ஒரு நங்கூரம் என்பது ஒரு கதாபாத்திரத்தை விட, ஒரு தர்க்கரீதியான இருப்பிடத்தை ஒரு சரம் பொருத்துவதற்கான ஒரு வழியாகும். உரை செயலாக்கத்திற்கு மிகவும் பயனுள்ள நங்கூரங்கள்:
- `` b``
ஒரு சொல் எல்லையை நியமிக்கிறது, அதாவது விண்வெளியில் இருந்து விண்வெளி அல்லாத எழுத்துக்கு மாறுதல். எடுத்துக்காட்டாக, `` சர்ப்`` உடன் பொருந்த `` bsurd`` ஐப் பயன்படுத்தலாம், ஆனால் `` அபத்தமானது`.
^
ஒரு வரியின் தொடக்கத்துடன் பொருந்துகிறது (மல்டி-லைன் பயன்முறையில், இது இயல்புநிலை)
- `` $ ``
ஒரு வரியின் முடிவுடன் பொருந்துகிறது (மல்டி-லைன் பயன்முறையில், இது இயல்புநிலை)
- `` K``
தேர்வின் தொடக்க நிலையை அதன் நிலைக்கு மீட்டெடுக்கிறது. சில Regexp என்ஜின்கள் (ஆனால் திறமை வாய்ந்தவை அல்ல) மாறி நீளத்தைத் தேடுவதை அனுமதிக்காது, குறிப்பாக அளவுகோல்கள். இந்த என்ஜின்களுடன் `` k`` ஐப் பயன்படுத்தும்போது, மாறி நீளத்தின் நேர்மறையான தேடலுக்கு சமமானதை எழுதுவதன் மூலம் இந்த வரம்பை அகற்றவும் இது உங்களை அனுமதிக்கிறது.
குழுக்கள்¶
- `` (வெளிப்பாடு) ``
படத்தைக் கைப்பற்றுதல், இது தேர்வை சேமித்து, பின்னர் * தேடலில் * அல்லது * வடிவங்களை `` n`` உடன் நினைவுபடுத்துகிறது, அங்கு `` n`` என்பது கைப்பற்றும் குழுவின் வரிசை எண் (வாசிப்பில் 1 இல் தொடங்குகிறது ஒழுங்கு)
- `` (?: வெளிப்பாடு) ``
தேர்வைக் கைப்பற்றாத குழு
- `` (?> வெளிப்பாடு) ``
அணு குழு: வெளிப்பாடு திருப்தி அடைந்தவுடன், REGEXP இயந்திரம் கடந்து செல்கிறது, மீதமுள்ள முறை தோல்வியுற்றால், வெளிப்பாட்டுடன் மற்ற சேர்க்கைகளை முயற்சிக்க இது பின்வாங்காது. அணு குழுக்கள் பிடிக்கவில்லை.
- `` (? | வெளிப்பாடு) ``
கிளை மீட்டமைப்புக் குழு: வெளிப்பாட்டில் சேர்க்கப்பட்ட மாற்றங்களின் கிளைகள் ஒரே குழு எண்களைப் பகிர்ந்து கொள்ளுங்கள்
- `` (? <பெயர்> வெளிப்பாடு) ``
“பெயர்” என்ற குழு. தேர்வை பின்னர் * தேடல் * வடிவத்தில் `` (? P = பெயர்) `` மற்றும் * மாற்றத்தில் * g <amane> `மூலம் நினைவுபடுத்தலாம். இரண்டு வெவ்வேறு குழுக்கள் ஒரே பெயரைப் பயன்படுத்தலாம்.
தேடல்கள்¶
** தேடல் ** |
** பொருள் ** |
``? = `` |
நேர்மறையான பார்வை (தேர்வுக்குப் பிறகு வைக்கப்பட வேண்டும்) |
``?! `` |
எதிர்மறை லுக்காஹெட் (தேர்வுக்குப் பிறகு வைக்கப்பட வேண்டும்) |
``? <= `` |
நேர்மறை தேடல் (தேர்வுக்கு முன் வைக்கப்பட வேண்டும்) |
``? <! `` |
எதிர்மறை தேடல் (தேர்வுக்கு முன் வைக்கப்பட வேண்டும்) |
லுக்காஹெட்ஸ் மற்றும் லுக்ஸ்பைண்ட்ஸ் கதாபாத்திரங்களை உட்கொள்ளாது, அவை பூஜ்ஜிய நீளம் மற்றும் பிடிக்காது. அவை அணுக் குழுக்கள்: கூற்று திருப்தி அடைந்தவுடன், ரீஜெக்ஸ்ப் எஞ்சின் கடந்து செல்கிறது, மீதமுள்ள முறை தோல்வியுற்றால், மற்ற சேர்க்கைகளை முயற்சிக்க இது தேடலுக்குள் பின்வாங்காது.
ஒரு சரத்தில் பல போட்டிகளைத் தேடும்போது, ஒவ்வொரு போட்டி முயற்சியின் தொடக்க நிலையிலும், ஒரு தேடல் தற்போதைய நிலைக்கு முன் எழுத்துக்களை ஆய்வு செய்யலாம். ஆகையால், சரம் 123 இல், `` (? <= D) d`` (ஒரு இலக்கத்திற்கு முந்தைய ஒரு இலக்க), கோட்பாட்டில், 2 மற்றும் 3 ஐத் தேர்ந்தெடுக்க வேண்டும். `` D K d`` ஐ மட்டுமே தேர்ந்தெடுக்க முடியும், ஏனென்றால் முதல் தேர்வுக்குப் பிறகு தொடக்க நிலை 3 க்கு முன்பே உள்ளது, மேலும் இரண்டாவது போட்டிக்கு போதுமான இலக்கங்கள் இல்லை. இதேபோல், `` d (d) `` `2 ஐ மட்டுமே பிடிக்கிறது 2. காலிபரின் ரெஜெக்ஸ் எஞ்சின் நடைமுறையில், நேர்மறையான தேடல் ஒரே வழியில் செயல்படுகிறது, மேலும் கோட்பாட்டிற்கு மாறாக 2 ஐ மட்டுமே தேர்ந்தெடுக்கிறது.
குழுக்கள் தோற்றங்களுக்குள் வைக்கப்படலாம், ஆனால் பிடிப்பு அரிதாகவே பயனுள்ளதாக இருக்கும். ஆயினும்கூட, இது பயனுள்ளதாக இருந்தால், ஒரு தேடலில் ஒரு அளவுகோலைப் பயன்படுத்துவதில் மிகவும் கவனமாக இருப்பது அவசியமாக இருக்கும்: பின்வாங்காததால் தொடர்புடைய பேராசை ஒரு ஆச்சரியமான பிடிப்பைக் கொடுக்கும். இந்த காரணத்திற்காக, நேர்மறையான தேடலின் ஒரு குழுவில் நீங்கள் ஒரு அளவுகோலைக் கொண்டிருக்கும்போது (அல்லது மோசமான, பல) நேர்மறையான தேடலைக் காட்டிலும் `` k`` ஐப் பயன்படுத்தவும்.
எதிர்மறை தோற்றத்தின் எடுத்துக்காட்டு:
`` (?! [^<> {}]*[>}]) ``
வடிவத்தின் முடிவில் வைக்கப்படுவது ஒரு குறிச்சொல்லுக்குள் அல்லது கோப்பில் பதிக்கப்பட்ட பாணிக்குள் தேர்ந்தெடுப்பதைத் தடுக்கிறது.
முடிந்த போதெல்லாம், தோற்றங்களை "நங்கூரமிடுவது", முடிவைப் பெறுவதற்குத் தேவையான படிகளின் எண்ணிக்கையை குறைக்க எப்போதும் நல்லது.
மறுநிகழ்வு¶
** பிரதிநிதித்துவம் ** |
** பொருள் ** |
`` (? R) `` |
முழு வடிவத்தின் மறுநிகழ்வு |
`` (? 1) `` |
எண்ணப்பட்ட கைப்பற்றும் குழுவின் ஒரே வடிவத்தின் மறுநிகழ்வு, இங்கே குழு 1 |
மறுநிகழ்வு தன்னை அழைக்கிறது. மேற்கோள் காட்டப்பட்ட சரங்கள் போன்ற சீரான வினவல்களுக்கு இது பயனுள்ளதாக இருக்கும், அதில் உட்பொதிக்கப்பட்ட மேற்கோள் சரங்கள் இருக்கலாம். ஆகவே, இரட்டை மேற்கோள் மதிப்பெண்களுக்கு இடையில் ஒரு சரத்தின் செயலாக்கத்தின் போது, இரட்டை மேற்கோள் மதிப்பெண்களுக்கு இடையில் ஒரு புதிய சரத்தின் தொடக்கத்தை நாங்கள் சந்திக்கிறோம், எப்படி செய்வது என்று எங்களுக்குத் தெரியும், நாங்கள் நம்மை அழைக்கிறோம். பின்னர் எங்களுக்கு ஒரு முறை உள்ளது
start-pattern(?>atomic sub-pattern|(?R))*end-pattern
உட்பொதிக்கப்பட்ட சரத்தை நிறுத்தாமல் இரட்டை மேற்கோள் மதிப்பெண்களுக்கு இடையில் ஒரு சரத்தைத் தேர்ந்தெடுக்க
“((?>[^“”]+|(?R))*[^“”]+)”
`` <viv> `` குறிச்சொற்கள் போன்ற உட்பொதிக்கக்கூடிய குறிச்சொற்களை மாற்றவும் இந்த வார்ப்புரு பயன்படுத்தப்படலாம்.
சிறப்பு எழுத்துக்கள்¶
** பிரதிநிதித்துவம் ** |
** எழுத்து ** |
`` t`` |
அட்டவணை |
`` n`` |
வரி இடைவெளி |
`` x20`` |
(உடைக்கக்கூடிய) இடம் |
`` xa0`` |
பிரேக் ஸ்பேஸ் இல்லை |
மெட்டா-கதாபாத்திரங்கள்¶
மெட்டா-கதாபாத்திரங்கள் REGEXP எஞ்சினுக்கு ஒரு சிறப்பு அர்த்தம் கொண்டவை. இவற்றில், பன்னிரண்டு பேர் ஒரு தப்பிக்கும் கதாபாத்திரம், பின்சாய்வுக்கோடான (`` ``), அவர்களின் சிறப்புப் பொருளை இழந்து மீண்டும் ஒரு வழக்கமான தன்மையாக மாற வேண்டும்
^ . [ ] $ ( ) * + ? | \
மற்ற ஏழு மெட்டா-கதாபாத்திரங்கள் பின்சாய்வுக்குறிப்புக்கு முன்னதாக இருக்க வேண்டிய அவசியமில்லை (ஆனால் வேறு எந்த விளைவுகளும் இல்லாமல் இருக்கலாம்)
{ } ! < > = :
ஒரு வகுப்பினுள் (அடைப்புக்குறிக்கு இடையில் `` [] ``) பயன்படுத்தப்பட்டால் சிறப்பு எழுத்துக்கள் அவற்றின் நிலையை இழக்கின்றன. இறுதி அடைப்புக்குறி மற்றும் கோடு ஒரு வகுப்பில் ஒரு சிறப்பு அந்தஸ்தைக் கொண்டுள்ளன. வகுப்பிற்கு வெளியே, கோடு ஒரு எளிய நேரடி, நிறைவு அடைப்புக்குறி ஒரு மெட்டா-பாத்திரமாக உள்ளது.
ஸ்லாஷ் (/) மற்றும் எண் அடையாளம் (அல்லது ஹாஷ் எழுத்து) (#) மெட்டா-கதாபாத்திரங்கள் அல்ல, அவை தப்பிக்க தேவையில்லை.
சில கருவிகளில், பைதான் எஞ்சினுடன் Regex101.com போன்றவை, இரட்டை மேற்கோள்கள் பிரிப்பானின் சிறப்பு நிலையைக் கொண்டுள்ளன, மேலும் அவை தப்பிக்கப்பட வேண்டும், அல்லது விருப்பங்கள் மாற்றப்பட வேண்டும். காலிபரின் ஆசிரியரில் இது அப்படி இல்லை.
முறைகள்¶
- `` (? கள்) ``
டாட் (`` .``) நியூலைன் எழுத்துக்களையும் பொருத்த காரணமாகிறது
- `` (? மீ) ``
^
மற்றும் `` `` `நங்கூரங்கள் முழு சரத்தின் தொடக்கத்திற்கும் முடிவிற்கும் பதிலாக வரிகளின் தொடக்கத்தையும் முடிவையும் பொருத்துகின்றன.