காலிபரில் வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்துவது பற்றி

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

முதலில், எச்சரிக்கை வார்த்தையும் தைரியமான வார்த்தையும்

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

வழக்கமான வெளிப்பாடுகளை நீங்கள் எங்கு பயன்படுத்தலாம்?

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

பூமியில் என்ன * * ஒரு வழக்கமான வெளிப்பாடு?

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

Note

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

விளக்க கவனமா?

சரி, அதனால்தான் நாங்கள் இங்கே இருக்கிறோம். முதலாவதாக, வழக்கமான வெளிப்பாடுகளில் இது மிக முக்கியமான கருத்தாகும்: *ஒரு சரம் தானே தன்னுடன் பொருந்தக்கூடிய ஒரு வழக்கமான வெளிப்பாடாகும் *. அதாவது, நான் `` "ஹலோ, உலகம்!" என்ற சரத்தை பொருத்த விரும்பினால், வழக்கமான வெளிப்பாட்டைப் பயன்படுத்தி, பயன்படுத்த வழக்கமான வெளிப்பாடு `` ஹலோ, உலகம்! ``. ஆம், அது உண்மையில் எளிது. இருப்பினும், இது * சரியான சரத்துடன் `` "ஹலோ, உலகம்!" ``, எ.கா. `` "ஹலோ, உலகம்!" `` அல்லது `` "ஹலோ, உலகம்!"

அது மிகவும் மோசமாக இல்லை. அடுத்தது என்ன?

அடுத்தது நல்ல விஷயங்களின் ஆரம்பம். வழக்கமான வெளிப்பாடுகள் பல சரங்களுடன் பொருந்தக்கூடும் என்று நான் சொன்னது நினைவிருக்கிறதா? இது இன்னும் கொஞ்சம் சிக்கலானது. சற்றே நடைமுறை பயிற்சியாக, நீங்கள் மாற்ற விரும்பிய மின் புத்தகம் "423 இன் பக்கம் 5" போன்ற பக்கங்களை எண்ணும் ஒரு மோசமான அடிக்குறிப்பைக் கொண்டிருந்தது. பக்க எண் 1 முதல் 423 வரை உயரும், இதனால் நீங்கள் 423 வெவ்வேறு சரங்களை பொருத்த வேண்டும், இல்லையா? தவறு, உண்மையில்: வழக்கமான வெளிப்பாடுகள் பொருந்தக்கூடிய எழுத்துக்களின் தொகுப்புகளை வரையறுக்க உங்களை அனுமதிக்கின்றன: ஒரு தொகுப்பை வரையறுக்க, நீங்கள் விரும்பும் அனைத்து எழுத்துக்களையும் தொகுப்பில் சதுர அடைப்புக்குறிக்குள் வைக்கவும். எனவே, எடுத்துக்காட்டாக, `` [ஏபிசி] `` என்ற தொகுப்பு "ஏ", "பி" அல்லது "சி" என்ற எழுத்துடன் பொருந்தும். செட் எப்போதும் தொகுப்பில் உள்ள எழுத்துக்களில் ஒன்றை மட்டுமே பொருத்தும். அவை எழுத்து வரம்புகளை "புரிந்துகொள்கின்றன", அதாவது, நீங்கள் அனைத்து சிறிய எழுத்துக்களையும் பொருத்த விரும்பினால், நீங்கள் `` [a-z] `` என்ற தொகுப்பை நீங்கள் பயன்படுத்துவீர்கள் `` [a-za -Z] `` மற்றும் பல. யோசனை கிடைத்ததா? எனவே, வெளிப்படையாக, 423`` இன் `` பக்கம் [0-9] என்ற வெளிப்பாட்டைப் பயன்படுத்தி நீங்கள் முதல் 9 பக்கங்களுடன் பொருந்த முடியும், இதனால் தேவையான வெளிப்பாடுகளை மூன்றாகக் குறைக்கிறீர்கள்: இரண்டாவது வெளிப்பாடு `` பக்கம் [0-9] [0-9] இன் 423`` அனைத்து இரண்டு இலக்க பக்க எண்களுக்கும் பொருந்தும், மேலும் மூன்றாவது வெளிப்பாடு எப்படி இருக்கும் என்று நீங்கள் யூகிக்க முடியும் என்று நான் நம்புகிறேன். ஆம், மேலே செல்லுங்கள். அதை எழுதி வை.

ஏய், சுத்தமாக! இது அர்த்தமுள்ளதாகத் தொடங்குகிறது!

நீங்கள் அதைச் சொல்வீர்கள் என்று நான் நம்புகிறேன். ஆனால் உங்களை நீங்களே இணைத்துக் கொள்ளுங்கள், இப்போது அது இன்னும் சிறப்பாகிறது! தொகுப்புகளைப் பயன்படுத்தி, ஒரே நேரத்தில் பல கதாபாத்திரங்களில் ஒன்றை பொருத்த முடியும் என்பதை நாங்கள் பார்த்தோம். ஆனால் நீங்கள் ஒரு பாத்திரத்தை அல்லது அமைக்கப்பட்டிருக்கலாம், மேலே உள்ள பக்க எண் உதாரணத்தை ஒன்றைக் கையாள தேவையான வெளிப்பாடுகளின் எண்ணிக்கையை குறைக்கலாம். ஆம், ஒன்று! உற்சாகமா? நீங்கள் இருக்க வேண்டும்! இது இப்படி வேலை செய்கிறது: சில சிறப்பு எழுத்துக்கள் என்று அழைக்கப்படுபவை, "+", "?" மற்றும் "*",*அவர்களுக்கு முந்தைய ஒற்றை உறுப்பை மீண்டும் செய்யவும்*. . இந்த எழுத்துக்கள் வைல்டு கார்டுகள் அல்லது அளவுகோல்கள் என்று அழைக்கப்படுகின்றன. இன்னும் துல்லியமாக இருக்க, "?" முந்தைய உறுப்பின்*0 அல்லது 1*உடன் பொருந்துகிறது, "*" முந்தைய உறுப்பின்*0 அல்லது அதற்கு மேற்பட்டவை*பொருந்துகிறது மற்றும் "+" முந்தைய உறுப்பின்*1 அல்லது அதற்கு மேற்பட்ட*பொருந்துகிறது. சில எடுத்துக்காட்டுகள்: `` அ? ஒரு "," AA "அல்லது ஒரு வரிசையில் உள்ள A இன் எத்தனை, மற்றும், இறுதியாக, வெளிப்பாடு` a+ `` "A", "AA" அல்லது ஒரு வரிசையில் உள்ள எந்தவொரு A களும் பொருந்தும் (குறிப்பு: அது இருக்காது வெற்று சரத்தை பொருத்துங்கள்!). தொகுப்புகளுக்கான அதே ஒப்பந்தம்: `` [0-9]+`` என்ற வெளிப்பாடு *இருக்கும் ஒவ்வொரு முழு எண் எண்ணும் *! நீங்கள் என்ன நினைக்கிறீர்கள் என்று எனக்குத் தெரியும், நீங்கள் சொல்வது சரிதான்: பக்க எண்களைப் பொருத்துவதற்கு மேலே உள்ள விஷயத்தில் நீங்கள் அதைப் பயன்படுத்தினால், எல்லா பக்க எண்களையும் பொருத்த ஒற்றை ஒரு வெளிப்பாடாக இருக்காது? ஆம், 423`` இன் `` பக்கம் [0-9] என்ற வெளிப்பாடு அந்த புத்தகத்தில் உள்ள ஒவ்வொரு பக்க எண்ணிற்கும் பொருந்தும்!

Note

இந்த அளவுகோல்களைப் பற்றிய ஒரு குறிப்பு: அவை பொதுவாக முடிந்தவரை உரையை பொருத்த முயற்சிக்கின்றன, எனவே அவற்றைப் பயன்படுத்தும் போது கவனமாக இருங்கள். இது "பேராசை நடத்தை" என்று அழைக்கப்படுகிறது- ஏன் என்று நீங்கள் நம்புகிறேன். நீங்கள் ஒரு குறிச்சொல்லுடன் பொருந்த முயற்சிக்கும்போது இது சிக்கலாகிறது. எடுத்துக்காட்டாக, சரம் `` "<p class =" calibre2 "> தலைப்பு இங்கே </p>" `` மற்றும் நீங்கள் திறப்பு குறிச்சொல்லுடன் பொருந்த விரும்புகிறீர்கள் என்று சொல்லலாம் (முதல் ஜோடி கோண அடைப்புக்குறிக்கு இடையிலான பகுதி, குறிச்சொற்களில் இன்னும் கொஞ்சம்). `` <P.*> `` அந்த குறிச்சொல்லுடன் பொருந்தும் என்று நீங்கள் நினைப்பீர்கள், ஆனால் உண்மையில், இது முழு சரத்திற்கும் பொருந்துகிறது! . அதற்கு பதிலாக, `` <ப.*? அந்த வெளிப்பாடு நோக்கம் கொண்ட முதல் தொடக்க குறிச்சொல்லுடன் மட்டுமே பொருந்தும். இதைச் செய்ய உண்மையில் மற்றொரு வழி உள்ளது: `` <p [^>]*> `` என்ற வெளிப்பாடு அதே திறப்பு குறிச்சொல்லுடன் பொருந்தும்- அடுத்த பகுதிக்குப் பிறகு ஏன் என்று பார்ப்பீர்கள். வழக்கமான வெளிப்பாட்டை எழுத ஒன்றுக்கு மேற்பட்ட வழிகள் உள்ளன என்பதை நினைவில் கொள்க.

சரி, இந்த சிறப்பு கதாபாத்திரங்கள் மிகவும் சுத்தமாகவும் அனைத்தும், ஆனால் நான் ஒரு புள்ளி அல்லது கேள்விக்குறியை பொருத்த விரும்பினால் என்ன செய்வது?

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

எனவே, மிகவும் பயனுள்ள தொகுப்புகள் யாவை?

நீங்கள் கேட்பீர்கள் என்று தெரியும். சில பயனுள்ள தொகுப்புகள் `` [0-9] `` ஒரு எண்ணுடன் பொருந்துகின்றன, `` [a-z] `` ஒரு சிறிய கடிதத்தை பொருத்துதல், `` [a-z] `` ஒரு பெரிய எழுத்துக் கடிதத்துடன் பொருந்துகிறது, `` [a-zaa -Z] `` ஒரு கடிதத்தையும் `` [A-ZA-Z0-9] `` ஒரு கடிதம் அல்லது எண்ணுடன் பொருந்தும். நீங்கள் ஒரு தப்பிக்கும் வரிசையை சுருக்கெழுத்து எனப் பயன்படுத்தலாம்:

`` d``

`` [0-9] `` க்கு சமம்

`` w``

`` [a-za-Z0-9_] `` க்கு சமம்

`` s``

எந்த இடைவெளிக்கும் சமம்

Note

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

Note

தேடல் வழக்கை உணர்வற்றதாக மாற்றுவதற்கான அமைப்பு இயக்கப்பட்டிருந்தால், மேல் மற்றும் கீழ் வழக்கு தொகுப்புகள் மேல் மற்றும் சிறிய எழுத்துக்களுடன் பொருந்தக்கூடும். இத்தகைய அமைப்புகள் காணப்படுகின்றன, உதாரணமாக விருப்பத்தேர்வுகள்-> காலிபர் மற்றும் காலிபரில் உள்ள தேடல் குழுவில் தேடுவது: கிலாபெல்: மின் புத்தக பார்வையாளர் மற்றும் திறமை: கிலாபெல்:` புத்தகத்தை திருத்து புத்தக` கருவி.

செட்களின் கடைசி குறிப்பாக, நீங்கள் ஒரு தொகுப்பை எந்த கதாபாத்திரமாகவும் வரையறுக்கலாம் * ஆனால் * தொகுப்பில் உள்ளவர்கள். `` "^" `` என்ற கதாபாத்திரத்தை தொகுப்பின் முதல் எழுத்தாக சேர்ப்பதன் மூலம் நீங்கள் அதைச் செய்கிறீர்கள் *. எனவே, `` [^a] `` "A" ஐத் தவிர வேறு எந்த பாத்திரத்தையும் பொருத்தும். அது தொகுப்பை பூர்த்தி செய்வது என்று அழைக்கப்படுகிறது. நாம் முன்னர் பார்த்த அந்த தப்பிக்கும் வரிசை சுருக்கெழுத்து ஆகியவற்றை பூர்த்தி செய்யலாம்: `` "d" `` `என்பது எந்தவொரு எண் அல்லாத தன்மையையும் குறிக்கிறது, இதனால்` `[^0-9]` `க்கு சமம். மற்ற சுருக்கெழுத்து ஆகியவற்றால் பூர்த்தி செய்யப்படலாம், நீங்கள் அதை யூகித்தீர்கள், சிறிய எழுத்துக்கு பதிலாக அந்தந்த பெரிய எழுத்துக்களைப் பயன்படுத்தி. எனவே, முந்தைய பிரிவில் இருந்து `` <p [^>]> `` எடுத்துக்காட்டுக்குச் செல்வது, ஒரு இறுதி கோண அடைப்புக்குறியைத் தவிர வேறு எந்த கதாபாத்திரத்தையும் பொருத்த முயற்சிகளைப் பயன்படுத்தும் எழுத்து அமைக்கப்பட்டிருப்பதை இப்போது நீங்கள் காணலாம்.

ஆனால் நான் பொருந்த விரும்பிய சில மாறுபட்ட சரங்களை என்னிடம் வைத்திருந்தால், விஷயங்கள் சிக்கலானதா?

பயப்பட வேண்டாம், வாழ்க்கை இன்னும் நல்லது மற்றும் எளிதானது. இந்த எடுத்துக்காட்டைக் கவனியுங்கள்: நீங்கள் மாற்றும் புத்தகத்தில் ஒவ்வொரு ஒற்றைப்படை பக்கத்திலும் எழுதப்பட்ட "தலைப்பு" மற்றும் ஒவ்வொரு பக்கத்திலும் "ஆசிரியர்" எழுதப்பட்டுள்ளது. அச்சில் அழகாக இருக்கிறது, இல்லையா? ஆனால் மின் புத்தகங்களில், இது எரிச்சலூட்டும். நீங்கள் முழு வெளிப்பாடுகளையும் சாதாரண அடைப்புக்குறிக்குள் தொகுக்கலாம், மேலும் `` "| அவற்றை இணைக்கவும், நீங்கள் முடித்துவிட்டீர்கள். உங்களுக்கு மிக வேகமாக? சரி, முதலில், நாங்கள் ஒற்றைப்படை மற்றும் பக்கங்களுக்கான வெளிப்பாடுகளை தொகுக்கிறோம், இதனால் `` (தலைப்பு) (ஆசிரியர்) `` எங்கள் இரண்டு தேவையான வெளிப்பாடுகளாகப் பெறுகிறோம். இப்போது செங்குத்து பட்டியைப் பயன்படுத்துவதன் மூலம் விஷயங்களை எளிமையாக்குகிறோம் (`` "| "(ஒற்றைப்படை பக்கங்களில்) அல்லது நீங்கள்" எழுத்தாளர் "(கூட பக்கங்களில்) பொருந்துவீர்கள். சரி, அது எளிதானதல்லவா?

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

நீ தவற விட்டாய்...

... ஒரு நிமிடம் காத்திருங்கள், நீங்கள் குழுக்களுடன் செய்யக்கூடிய கடைசி, மிகவும் சுத்தமாக ஒன்று இருக்கிறது. நீங்கள் முன்பு பொருந்திய ஒரு குழு உங்களிடம் இருந்தால், அந்தக் குழுவைப் பற்றிய குறிப்புகளை பின்னர் வெளிப்பாட்டில் பயன்படுத்தலாம்: குழுக்கள் 1 உடன் தொடங்கி எண்ணப்படுகின்றன, மேலும் நீங்கள் குறிப்பிட விரும்பும் குழுவின் எண்ணிக்கையிலிருந்து தப்பிப்பதன் மூலம் அவற்றைக் குறிப்பிடுகிறீர்கள், இதனால், ஐந்தாவது குழு `` 5`` என குறிப்பிடப்படும். எனவே, நீங்கள் "சோதனை சோதனை" என்ற சரத்தில் `` ([^]+) 1`` தேடியால், நீங்கள் முழு சரத்தையும் பொருத்துவீர்கள்!

ஆரம்பத்தில், ஒரு வழக்கமான வெளிப்பாடு வழக்கை உணர்ச்சியற்றதாக மாற்ற ஒரு வழி இருப்பதாக நீங்கள் சொன்னீர்கள்?

ஆமாம், நான் செய்தேன், கவனம் செலுத்தி எனக்கு நினைவூட்டியதற்கு நன்றி. கொடிகள் என்று அழைக்கப்படும் ஒன்றைப் பயன்படுத்துவதன் மூலம் சில விஷயங்களை எவ்வாறு கையாள விரும்புகிறீர்கள் என்பதை நீங்கள் காலிபருக்குச் சொல்லலாம். சிறப்பு கட்டமைப்பைப் பயன்படுத்துவதன் மூலம் உங்கள் வெளிப்பாட்டில் கொடிகளைச் சேர்க்கிறீர்கள் `` (? கொடிகள் இங்கே செல்கின்றன) `` எங்கே, வெளிப்படையாக, நீங்கள் விரும்பும் குறிப்பிட்ட கொடிகளுடன் "கொடிகள் இங்கே செல்கின்றன". வழக்கைப் புறக்கணிக்க, கொடி `` நான்``, இதனால் உங்கள் வெளிப்பாட்டில் `` (? I) `` சேர்க்கவும். எனவே, `` (? நான்) சோதனை`` "சோதனை", "சோதனை", "சோதனை" மற்றும் நீங்கள் நினைக்கும் எந்த வழக்கு மாறுபாட்டையும் பொருத்துகிறது.

மற்றொரு பயனுள்ள கொடி DOT எந்தவொரு கதாபாத்திரத்தையும் பொருத்த அனுமதிக்கிறது, * புதிய வரி, கொடி `` s`` உட்பட. நீங்கள் ஒரு வெளிப்பாட்டில் பல கொடிகளைப் பயன்படுத்த விரும்பினால், அவற்றை ஒரே அறிக்கையில் வைக்கவும்: `` (? IS) `` வழக்கை புறக்கணித்து, புள்ளி அனைத்தையும் பொருத்தமாக்கும். நீங்கள் முதலில் எந்தக் கொடியைக் கூறினாலும் பரவாயில்லை, `` (? எஸ்) `` மேற்கூறியவற்றுக்கு சமமாக இருக்கும்.

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

மாற்றங்கள்

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

Maybe, but the cops feel like you do, Anita. What's one more dead vampire?
New laws don't change that. </p>
<p class="calibre4"> <b class="calibre2">Generated by ABC Amber LIT Conv
<a href="http://www.processtext.com/abclit.html" class="calibre3">erter,
http://www.processtext.com/abclit.html</a></b></p>
<p class="calibre4"> It had only been two years since Addison v. Clark.
The court case gave us a revised version of what life was

. . /குறிச்சொல்> ``), இது வெறுமனே அடுத்த `` </b> `` இந்த விஷயத்தில். (ஒரு நல்ல HTML கையேட்டைப் பார்க்கவும் அல்லது இந்த கட்டத்தில் நீங்கள் தெளிவாக தெரியாவிட்டால் மன்றத்தில் கேளுங்கள்). திறப்பு குறிச்சொல் இருக்கலாம் ` <b.*? ``. ஆனால் இந்த வெளிப்பாட்டைப் பயன்படுத்துவது ஒரு மோசமான யோசனையாக இருக்கும், ஏனென்றால் இது <b>- குறிச்சொற்களால் இணைக்கப்பட்ட அனைத்தையும் நீக்குகிறது (இது, மூடப்பட்ட உரையை தைரியமான அச்சில் வழங்குகிறது), மேலும் இது ஒரு நியாயமான பந்தயம், நாங்கள் அகற்றுவோம் புத்தகத்தின் பகுதிகள் இந்த வழியில். அதற்கு பதிலாக, மூடப்பட்ட சரத்தின் தொடக்கத்தையும் சேர்க்கவும், வழக்கமான வெளிப்பாட்டை `` <b.*? +லிட்.*? நீங்கள் ஒரு புதிய வெளிப்பாட்டை சோதித்தால் நீங்கள் வைத்திருக்க விரும்பும் எந்த பகுதிகளையும் அகற்றவில்லை என்பதை உறுதிப்படுத்த என்ன காலிபர் நீக்கப்படும் என்பதைச் சரிபார்க்க நினைவில் கொள்ளுங்கள். நீங்கள் ஒரு நிகழ்வை மட்டுமே சரிபார்த்தால், உரையில் வேறு எங்காவது பொருந்தாத தன்மையை நீங்கள் இழக்க நேரிடும். நீங்கள் உண்மையில் விரும்பியதை விட அதிகமாக அல்லது குறைவான குறிச்சொற்களை தற்செயலாக அகற்றினால், காலிபர் அகற்றப்பட்ட பிறகு சேதமடைந்த குறியீட்டை சரிசெய்ய முயற்சிக்கிறார்.

புத்தகங்களைச் சேர்ப்பது

நீங்கள் வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்தக்கூடிய மற்றொரு விஷயம், கோப்பு பெயர்களிலிருந்து மெட்டாடேட்டாவை பிரித்தெடுப்பது. அமைப்புகளின் "புத்தகங்களைச் சேர்ப்பது" பகுதியில் இந்த அம்சத்தை நீங்கள் காணலாம். இங்கே ஒரு சிறப்பு அம்சம் உள்ளது: நீங்கள் மெட்டாடேட்டா புலங்களுக்கான புலப் பெயர்களைப் பயன்படுத்தலாம், எடுத்துக்காட்டாக `` (? பி <தலைப்பு>) `` காலிபர் சரத்தின் இந்த பகுதியை புத்தக தலைப்பாக பயன்படுத்துவதைக் குறிக்கும். அனுமதிக்கப்பட்ட புலப் பெயர்கள் ஜன்னல்களில் பட்டியலிடப்பட்டுள்ளன, மற்றொரு நல்ல சோதனை புலத்துடன். ஒரு எடுத்துக்காட்டு: `` கிளாசிக்கல் நூல்கள்: டான்டே அலிகீரி.மொபி` எழுதிய தெய்வீக நகைச்சுவை போன்ற பெயர்களையும் இறக்குமதி செய்ய விரும்புகிறீர்கள் என்று சொல்லுங்கள். . இது வெளிப்படையாக பெயரிடும் திட்டமாகும், இது காலிபர் எந்த அர்த்தமுள்ள தரவையும் பிரித்தெடுக்காது - மெட்டாடேட்டாவைப் பிரித்தெடுப்பதற்கான அதன் நிலையான வெளிப்பாடு `` (? பி <தலைப்பு>.+) - (? பி <ஆசிரியர்> [^_]+) ` . இங்கே செயல்படும் ஒரு வழக்கமான வெளிப்பாடு ` [a-za-z]+: (? P <tithe>. மெட்டாடேட்டா புலத்திற்கான குழுவிற்குள், புலம் உண்மையில் பொருந்தக்கூடியதை விவரிக்க வெளிப்பாடுகளைப் பயன்படுத்த வேண்டும் என்பதை நினைவில் கொள்க. மேலும், காலிபர் வழங்கும் சோதனை புலத்தைப் பயன்படுத்தும் போது, உங்கள் சோதனை கோப்பு பெயரில் கோப்பு நீட்டிப்பை நீங்கள் சேர்க்க வேண்டும், இல்லையெனில், வேலை வெளிப்பாட்டைப் பயன்படுத்தினாலும், நீங்கள் எந்த போட்டிகளையும் பெற மாட்டீர்கள்.

மொத்த எடிட்டிங் மெட்டாடேட்டா

கடைசி பகுதி வழக்கமான வெளிப்பாடு: கிலாபெல்: மெட்டாடேட்டா புலங்களில் தேடுங்கள் மற்றும் மாற்றவும். நூலகத்தில் பல புத்தகங்களைத் தேர்ந்தெடுத்து மொத்த மெட்டாடேட்டா திருத்தத்தைப் பயன்படுத்துவதன் மூலம் இதை அணுகலாம். இந்த கடைசி அம்சத்தைப் பயன்படுத்தும் போது மிகவும் கவனமாக இருங்கள், ஏனெனில் இது உங்கள் நூலகத்திற்கு ** மிக மோசமான விஷயங்களை ** செய்ய முடியும்! சோதனை புலங்களைப் பயன்படுத்துவதை நீங்கள் விரும்புவதை உங்கள் வெளிப்பாடுகள் செய்கின்றன என்பதை இரட்டிப்பாக்கவும், நீங்கள் உண்மையில் மாற்ற விரும்பும் புத்தகங்களை மட்டுமே குறிக்கவும்! வழக்கமான வெளிப்பாடு தேடல் பயன்முறையில், நீங்கள் ஒரு துறையில் தேடலாம், உரையை எதையாவது மாற்றலாம் மற்றும் முடிவை மற்றொரு துறையில் எழுதலாம். ஒரு நடைமுறை எடுத்துக்காட்டு: உங்கள் நூலகத்தில் ஃபிராங்க் ஹெர்பெர்ட்டின் டூன் தொடரின் புத்தகங்கள் இருந்தன, இது ஃபேஷன் ` டூன் 1 - டூன்``, `` டூன் 2 - டூன் மேசியா`` மற்றும் பலவற்றின் பெயரிடப்பட்டது. இப்போது நீங்கள் தொடர் துறையில் `` டூன்`` ஐப் பெற விரும்புகிறீர்கள். தலைப்பு புலத்தில் `` (.*?) D+ -.*`` என்பதைத் தேடுவதன் மூலமும், தொடர் துறையில் `` 1`` ஐ மாற்றுவதன் மூலமும் நீங்கள் அதைச் செய்யலாம். நான் அங்கு என்ன செய்தேன் என்று பாருங்கள்? நீங்கள் தொடர் புலத்தை மாற்றும் முதல் குழுவின் குறிப்பு இது. இப்போது நீங்கள் தொடர் அனைத்து அமைப்பையும் வைத்திருக்கிறீர்கள், நீங்கள் .*க்கு மற்றொரு தேடலை மட்டுமே செய்ய வேண்டும்? - தலைப்பு புலத்தில் மற்றும் அதை `` "" `` (ஒரு வெற்று சரம்) உடன் மாற்றவும், மீண்டும் தலைப்பு புலத்தில், உங்கள் மெட்டாடேட்டா அனைத்தும் சுத்தமாகவும் நேர்த்தியாகவும் இருக்கும். அது பெரியதல்லவா? மூலம், முழு புலத்தையும் மாற்றுவதற்குப் பதிலாக, நீங்கள் களத்தில் சேர்க்கலாம் அல்லது தயாராகலாம், எனவே, நீங்கள் * தேவைப்பட்டால் * புத்தக தலைப்பு தொடர் தகவலுடன் தயாரிக்கப்பட வேண்டும், நீங்கள் அதைச் செய்யலாம். நீங்கள் இப்போது சந்தேகத்திற்கு இடமின்றி கவனித்தபடி, பெயரிடப்பட்ட ஒரு தேர்வுப்பெட்டி உள்ளது: கிலாபெல்: `வழக்கு உணர்திறன், எனவே இங்கே நடத்தை தேர்ந்தெடுக்க நீங்கள் கொடிகளைப் பயன்படுத்த வேண்டியதில்லை.

சரி, இது வழக்கமான வெளிப்பாடுகளுக்கு மிகக் குறுகிய அறிமுகத்தை முடிக்கிறது. குறைந்தபட்சம் உங்களைத் தொடங்குவதற்கும், நீங்களே கற்றுக்கொள்வதற்கும் உங்களுக்கு உதவ நான் உங்களுக்கு போதுமான அளவு காண்பித்திருப்பேன் என்று நம்புகிறேன்- ஒரு நல்ல தொடக்கப் புள்ளி `` பைதான் ஆவணங்கள் regexps <https://docs.python.org/library/re .html> `_.

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

விரைவான குறிப்பு

வரவு

உதவிக்குறிப்புகள், திருத்தங்கள் மற்றும் பலவற்றிற்கு உதவியதற்கு நன்றி:

  • ldolse

  • கோவிட்கோயல்

  • சேலி

  • டுவந்தி

  • kacir

  • ஸ்டார்சன் 17

  • ஆர்ஃபியூ

Regexps பற்றி மேலும் அறிய பைதான் பயனர் கையேடு <https://docs.python.org/library/re.html> _ ஐப் பார்க்கவும். காலிபர் பயன்படுத்தும் உண்மையான வழக்கமான வெளிப்பாடு நூலகம்: ரீஜெக்ஸ் <https://bitbucket.org/mrabarnett/mrab-regex/src/hg/> _ இது பைதான் நிலையான நூலகத்தில் பல பயனுள்ள மேம்பாடுகளை ஆதரிக்கிறது.