Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

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

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

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

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

மேற்கூறியவற்றைத் தவிர, தொழில்முறை புரோகிராமர்கள், வலை உருவாக்குநர்கள் மற்றும் பிற தொழில்நுட்ப வல்லுநர்களின் குறுகிய வட்டங்களில் நன்கு அறியப்பட்ட மற்றொரு அணுகுமுறை உள்ளது - இது வழக்கமான வெளிப்பாடுகள் (வழக்கமான வெளிப்பாடுகள் = RegExp = "regexps" = "வழக்கமானவை"). எளிமையாக வை, RegExp என்பது ஒரு மொழியாகும், அங்கு சிறப்பு எழுத்துகள் மற்றும் விதிகள் உரையில் தேவையான துணைச்சரங்களைத் தேட, அவற்றைப் பிரித்தெடுக்க அல்லது அவற்றை வேறு உரையுடன் மாற்ற பயன்படுகிறது.. வழக்கமான வெளிப்பாடுகள் மிகவும் சக்திவாய்ந்த மற்றும் அழகான கருவியாகும், இது உரையுடன் பணிபுரியும் மற்ற எல்லா வழிகளையும் ஒரு வரிசையின் மூலம் விஞ்சும். பல நிரலாக்க மொழிகள் (C#, PHP, Perl, JavaScript...) மற்றும் உரை எடிட்டர்கள் (Word, Notepad++...) வழக்கமான வெளிப்பாடுகளை ஆதரிக்கின்றன.

மைக்ரோசாஃப்ட் எக்செல் துரதிர்ஷ்டவசமாக RegExp ஆதரவைக் கொண்டிருக்கவில்லை, ஆனால் இதை VBA மூலம் எளிதாக சரிசெய்யலாம். தாவலில் இருந்து விஷுவல் பேசிக் எடிட்டரைத் திறக்கவும் மேம்பாட்டாளர் (டெவலப்பர்) அல்லது விசைப்பலகை குறுக்குவழி alt+F11. பின்னர் மெனு மூலம் புதிய தொகுதியைச் செருகவும் செருகு - தொகுதி பின்வரும் மேக்ரோ செயல்பாட்டின் உரையை நகலெடுக்கவும்:

பொதுச் செயல்பாடு RegExpExtract(உரை சரமாக, முறை சரமாக, விருப்பப் பொருள் முழு எண்ணாக = 1) சரமாக GoTo ErrHandl அமை regex = CreateObject("VBScript.RegExp") regex.Pattern = Pattern = True.Glogex.T என்றால். (உரை) பின்னர் பொருத்தங்களை அமைக்கவும் = regex.Execute(Text) RegExpExtract = matches.Item (Item - 1) Exit Function End எனில் ErrHandl: RegExpExtract = CVErr(xlErrValue) End Function  

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

=RegExpExtract( Txt ; முறை ; உருப்படி )

எங்கே

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

இங்கே மிகவும் சுவாரசியமான விஷயம், நிச்சயமாக, பேட்டர்ன் - RegExp இன் "மொழியில்" சிறப்பு எழுத்துக்களின் டெம்ப்ளேட் சரம், இது நாம் எதை சரியாக, எங்கு கண்டுபிடிக்க விரும்புகிறோம் என்பதைக் குறிப்பிடுகிறது. நீங்கள் தொடங்குவதற்கு மிகவும் அடிப்படையானவை இங்கே:

 முறை   விளக்கம்
 . எளிமையானது ஒரு புள்ளி. இது குறிப்பிட்ட நிலையில் உள்ள வடிவத்தில் உள்ள எந்த எழுத்துக்கும் பொருந்தும்.
 s ஸ்பேஸ் (ஸ்பேஸ், டேப் அல்லது லைன் பிரேக்) போல் தோன்றும் எந்த எழுத்தும்.
 S
முந்தைய வடிவத்தின் எதிர்ப்பு மாறுபாடு, அதாவது வெள்ளைவெளி அல்லாத எழுத்து.
 d
எந்த எண்
 D
முந்தைய மாறுபாட்டின் எதிர்ப்பு மாறுபாடு, அதாவது இலக்கம் அல்ல
 w எந்த லத்தீன் எழுத்து (AZ), இலக்கம் அல்லது அடிக்கோடிடும்
 W முந்தைய ஒன்றின் எதிர்ப்பு மாறுபாடு, அதாவது லத்தீன் அல்ல, எண் அல்ல, அடிக்கோடிடும் அல்ல.
[எழுத்துக்கள்] சதுர அடைப்புக்குறிக்குள், உரையில் குறிப்பிட்ட இடத்தில் அனுமதிக்கப்படும் ஒன்று அல்லது அதற்கு மேற்பட்ட எழுத்துக்களை நீங்கள் குறிப்பிடலாம். உதாரணத்திற்கு கலை எந்த வார்த்தையுடனும் பொருந்தும்: அட்டவணை or நாற்காலியில்.

நீங்கள் எழுத்துக்களைக் கணக்கிட முடியாது, ஆனால் அவற்றை ஹைபனால் பிரிக்கப்பட்ட வரம்பாக அமைக்கவும், அதாவது அதற்கு பதிலாக [ABDCDEF] எழுத [AF]. அல்லது அதற்கு பதிலாக [4567] அறிமுகப்படுத்த [-4 7]. எடுத்துக்காட்டாக, அனைத்து சிரிலிக் எழுத்துக்களையும் குறிக்க, நீங்கள் டெம்ப்ளேட்டைப் பயன்படுத்தலாம் [a-yaA-YayoYo].

[^எழுத்துக்கள்] சதுர அடைப்புக்குறியைத் திறந்த பிறகு, "மூடி" என்ற குறியீட்டைச் சேர்க்கவும். ^, பின்னர் தொகுப்பு எதிர் பொருளைப் பெறும் - உரையில் குறிப்பிட்ட நிலையில், பட்டியலிடப்பட்டவை தவிர, அனைத்து எழுத்துக்களும் அனுமதிக்கப்படும். ஆம், டெம்ப்ளேட் [^ЖМ]ut கண்டுபிடிப்பேன் பாதை or பொருள் or மறக்க, ஆனால் இல்லை பயங்கரமான or MUT, எ.கா.
 | பூலியன் ஆபரேட்டர் OR (அல்லது) குறிப்பிட்ட அளவுகோல்களில் ஏதேனும் உள்ளதா என சரிபார்க்க. உதாரணத்திற்கு (உடன்வியாழன்கூட|விலைப்பட்டியல்) குறிப்பிட்ட வார்த்தைகள் ஏதேனும் உள்ளதா என்று உரையைத் தேடும். பொதுவாக, விருப்பங்களின் தொகுப்பு அடைப்புக்குறிக்குள் இணைக்கப்பட்டுள்ளது.
 ^ வரியின் ஆரம்பம்
 $ வரியின் முடிவு
 b வார்த்தையின் முடிவு

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

  குவாண்டார்   விளக்கம்
 ? பூஜ்யம் அல்லது ஒரு நிகழ்வு. உதாரணத்திற்கு .? ஏதேனும் ஒரு பாத்திரம் அல்லது அதன் இல்லாமையைக் குறிக்கும்.
 + ஒன்று அல்லது அதற்கு மேற்பட்ட உள்ளீடுகள். உதாரணத்திற்கு d+ இலக்கங்களின் எண்ணிக்கையைக் குறிக்கிறது (அதாவது 0 மற்றும் முடிவிலிக்கு இடையில் உள்ள எந்த எண்).
 * பூஜ்யம் அல்லது அதற்கு மேற்பட்ட நிகழ்வுகள், அதாவது எந்த அளவு. அதனால் s* எத்தனை இடைவெளிகள் அல்லது இடைவெளிகள் இல்லை என்று அர்த்தம்.
{எண்} or

{எண் 1,எண் 2}

நீங்கள் கண்டிப்பாக வரையறுக்கப்பட்ட எண்ணிக்கையிலான நிகழ்வுகளைக் குறிப்பிட வேண்டும் என்றால், அது சுருள் பிரேஸ்களில் குறிப்பிடப்படும். உதாரணத்திற்கு டி{6} கண்டிப்பாக ஆறு இலக்கங்கள் மற்றும் வடிவத்தைக் குறிக்கிறது s{2,5} - இரண்டு முதல் ஐந்து இடைவெளிகள்

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

உரையிலிருந்து எண்களைப் பிரித்தெடுத்தல்

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

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

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

அஞ்சல்

முதல் பார்வையில், இங்கே எல்லாம் எளிது - நாங்கள் ஒரு வரிசையில் சரியாக ஆறு இலக்கங்களைத் தேடுகிறோம். நாங்கள் ஒரு சிறப்பு எழுத்தைப் பயன்படுத்துகிறோம் d இலக்கம் மற்றும் அளவுகோலுக்கு 6 {} எழுத்துக்களின் எண்ணிக்கைக்கு:

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

இருப்பினும், வரியில் குறியீட்டின் இடதுபுறத்தில், ஒரு வரிசையில் மற்றொரு பெரிய எண்கள் (தொலைபேசி எண், TIN, வங்கிக் கணக்கு போன்றவை) இருக்கும்போது ஒரு சூழ்நிலை சாத்தியமாகும், பின்னர் எங்கள் வழக்கமான பருவம் முதல் 6 ஐ வெளியேற்றும் அதிலிருந்து இலக்கங்கள், அதாவது சரியாக வேலை செய்யாது:

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

இது நிகழாமல் தடுக்க, நமது வழக்கமான வெளிப்பாட்டின் விளிம்புகளைச் சுற்றி ஒரு மாற்றியைச் சேர்க்க வேண்டும் b ஒரு வார்த்தையின் முடிவைக் குறிக்கிறது. நமக்குத் தேவையான துண்டு (குறியீடு) ஒரு தனி வார்த்தையாக இருக்க வேண்டும், மற்றொரு துண்டின் (தொலைபேசி எண்) பகுதியாக இருக்கக்கூடாது என்பதை இது எக்செல் க்கு தெளிவுபடுத்தும்:

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

தொலைபேசி

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

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

ஐ.டி.என்

இங்கே இது இன்னும் கொஞ்சம் சிக்கலானது, ஏனென்றால் TIN (நம் நாட்டில்) 10-இலக்கமாக (சட்ட நிறுவனங்களுக்கு) அல்லது 12-இலக்கமாக (தனிநபர்களுக்கு) இருக்கலாம். நீங்கள் குறிப்பாக தவறைக் கண்டுபிடிக்கவில்லை என்றால், வழக்கமானவற்றில் திருப்தி அடைவது மிகவும் சாத்தியமாகும் டி{10,12}, ஆனால், கண்டிப்பாகச் சொன்னால், இது 10 முதல் 12 எழுத்துகள் வரையிலான அனைத்து எண்களையும் இழுக்கும், அதாவது 11 இலக்கங்களை தவறாக உள்ளிட்டது. தருக்க அல்லது ஆபரேட்டரால் இணைக்கப்பட்ட இரண்டு வடிவங்களைப் பயன்படுத்துவது மிகவும் சரியாக இருக்கும் | (செங்குத்து பட்டை):

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

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

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

ஆபரேட்டருக்கு இடையிலான அடிப்படை வேறுபாடு இதுதான் | நிலையான எக்செல் லாஜிக் செயல்பாட்டிலிருந்து OR (அல்லது), வாதங்களை மறுசீரமைப்பது முடிவை மாற்றாது.

தயாரிப்பு SKU கள்

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

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

டெம்ப்ளேட்டின் பின்னால் உள்ள தர்க்கம் எளிமையானது. [AZ] - லத்தீன் எழுத்துக்களின் எந்த பெரிய எழுத்துக்களையும் குறிக்கிறது. அடுத்த அளவுகோல் 3 {} சரியாக மூன்று கடிதங்கள் இருப்பது எங்களுக்கு முக்கியம் என்று கூறுகிறார். ஹைபனுக்குப் பிறகு, நாங்கள் மூன்று இலக்கங்களுக்காக காத்திருக்கிறோம், எனவே இறுதியில் சேர்க்கிறோம் டி{3}

பண அளவுகள்

முந்தைய பத்தியைப் போலவே, நீங்கள் பொருட்களின் விளக்கத்திலிருந்து விலைகளை (செலவுகள், VAT ...) வெளியே எடுக்கலாம். பணத் தொகைகள், எடுத்துக்காட்டாக, ஹைபனுடன் குறிக்கப்பட்டால், பின்:

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

முறை d அளவுகோலுடன் + ஹைபன் வரை எந்த எண்ணையும் தேடுகிறது, மற்றும் டி{2} பிறகு சில்லறைகளை (இரண்டு இலக்கங்கள்) தேடும்.

நீங்கள் விலைகள் அல்ல, VAT ஐப் பிரித்தெடுக்க வேண்டும் என்றால், நீங்கள் எங்கள் RegExpExtract செயல்பாட்டின் மூன்றாவது விருப்ப வாதத்தைப் பயன்படுத்தலாம், இது பிரித்தெடுக்கப்பட வேண்டிய உறுப்புகளின் வரிசை எண்ணைக் குறிப்பிடுகிறது. மற்றும், நிச்சயமாக, நீங்கள் செயல்பாட்டை மாற்றலாம் துணை (மாற்று) முடிவுகளில், நிலையான தசம பிரிப்பானில் ஹைபன் செய்து, தொடக்கத்தில் இரட்டை கழித்தல் சேர்க்கவும், இதனால் எக்செல் கண்டுபிடிக்கப்பட்ட VAT ஐ சாதாரண எண்ணாக விளக்குகிறது:

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

கார் தட்டு எண்கள்

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

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

நேரம்

HH:MM வடிவத்தில் நேரத்தைப் பிரித்தெடுக்க, பின்வரும் வழக்கமான வெளிப்பாடு பொருத்தமானது:

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

பெருங்குடல் துண்டுக்குப் பிறகு [0-5]d, கண்டுபிடிக்க எளிதானது, 00-59 வரம்பில் எந்த எண்ணையும் அமைக்கிறது. அடைப்புக்குறிக்குள் உள்ள பெருங்குடலுக்கு முன், ஒரு தருக்க அல்லது (குழாய்) மூலம் பிரிக்கப்பட்ட இரண்டு வடிவங்கள் வேலை செய்கின்றன:

  • [0-1]d - 00-19 வரம்பில் உள்ள எந்த எண்ணும்
  • 2[0-3] - 20-23 வரம்பில் உள்ள எந்த எண்ணும்

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

கடவுச்சொல் சரிபார்ப்பு

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

பின்வரும் எளிய வழக்கமான வெளிப்பாட்டைப் பயன்படுத்தி சரிபார்ப்பை ஒழுங்கமைக்கலாம்:

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

உண்மையில், அத்தகைய வடிவத்துடன், தொடக்கத்திற்கு இடையில் நமக்கு இது தேவைப்படுகிறது (^) மற்றும் முடிவு ($) எங்கள் உரையில் சதுர அடைப்புக்குறிக்குள் கொடுக்கப்பட்ட தொகுப்பிலிருந்து எழுத்துக்கள் மட்டுமே இருந்தன. கடவுச்சொல்லின் நீளத்தையும் நீங்கள் சரிபார்க்க வேண்டும் என்றால் (உதாரணமாக, குறைந்தது 6 எழுத்துகள்), பின்னர் அளவுகோல் + வடிவத்தில் "ஆறு அல்லது அதற்கு மேற்பட்ட" இடைவெளியால் மாற்றலாம் {6,}:

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

முகவரியிலிருந்து நகரம்

முகவரி பட்டியில் இருந்து நகரத்தை இழுக்க வேண்டும் என்று சொல்லலாம். வழக்கமான நிரல் "g" இலிருந்து உரையைப் பிரித்தெடுக்க உதவும். அடுத்த கமாவிற்கு:

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

இந்த மாதிரியை இன்னும் விரிவாகப் பார்ப்போம்.

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

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

டெம்ப்ளேட்டின் முடிவில் ஒரு காற்புள்ளி உள்ளது, ஏனெனில் நாங்கள் "g" இலிருந்து உரையைத் தேடுகிறோம். ஒரு காற்புள்ளிக்கு. ஆனால் உரையில் பல காற்புள்ளிகள் இருக்கலாம், இல்லையா? ஊருக்குப் பிறகு மட்டுமல்ல, தெரு, வீடுகள் போன்றவற்றில் நம் கோரிக்கை எதில் நிற்கும்? அதுதான் கேள்விக்குறி. இது இல்லாமல், எங்கள் வழக்கமான வெளிப்பாடு சாத்தியமான நீளமான சரத்தை வெளியே இழுக்கும்:

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

வழக்கமான வெளிப்பாடுகளின் அடிப்படையில், அத்தகைய முறை "பேராசை". நிலைமையைச் சரிசெய்வதற்கு, ஒரு கேள்விக்குறி தேவை - அது குவாண்டிஃபையரை "கஞ்சத்தனமாக" ஆக்குகிறது - மேலும் எங்கள் வினவல் "g"க்குப் பிறகு முதல் எதிர் காற்புள்ளி வரை மட்டுமே உரையை எடுக்கும்:

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

முழு பாதையிலிருந்து கோப்பு பெயர்

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

Excel இல் வழக்கமான வெளிப்பாடுகளுடன் (RegExp) உரையை அலசவும்

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

PS

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

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

துரதிர்ஷ்டவசமாக, கிளாசிக் ரெகுலர் எக்ஸ்ப்ரெஷன்களின் அனைத்து அம்சங்களும் VBA இல் ஆதரிக்கப்படவில்லை (எடுத்துக்காட்டாக, தலைகீழ் தேடல் அல்லது POSIX வகுப்புகள்) மற்றும் சிரிலிக் உடன் வேலை செய்ய முடியும், ஆனால் உங்களைப் பிரியப்படுத்த முதல் முறையாக அங்கு இருப்பது போதுமானது என்று நான் நினைக்கிறேன்.

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

  • SUBSTITUTE செயல்பாடு மூலம் உரையை மாற்றுதல் மற்றும் சுத்தம் செய்தல்
  • உரையில் லத்தீன் எழுத்துக்களைத் தேடுதல் மற்றும் முன்னிலைப்படுத்துதல்
  • அருகிலுள்ள ஒத்த உரையைத் தேடவும் (இவானோவ் = இவோனோவ் = இவனோஃப், முதலியன)

ஒரு பதில் விடவும்