பவர் வினவலில் வழக்கமான வெளிப்பாடுகள் (RegExp).

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

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

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

துரதிர்ஷ்டவசமாக, பவர் வினவலில் RegExps உடன் பணிபுரிவதற்கான உள்ளமைக்கப்பட்ட செயல்பாடுகள் எதுவும் இல்லை, மேலும் அதிகாரப்பூர்வ Microsoft உதவி மற்றும் தொழில்நுட்ப ஆதரவு இந்த கேள்விக்கு எதிர்மறையாக பதிலளிக்கிறது. இருப்பினும், இந்த வரம்பைச் சுற்றி ஒரு வழி உள்ளது 🙂

முறையின் சாராம்சம்

முக்கிய யோசனை இழிவுபடுத்துவது எளிது.

உள்ளமைக்கப்பட்ட பவர் வினவல் திறன்களின் பட்டியலில், ஒரு செயல்பாடு உள்ளது இணையப்பக்கம். அதிகாரப்பூர்வ Microsoft உதவி தளத்தில் இந்தச் செயல்பாட்டின் விளக்கம் மிகவும் சுருக்கமாக உள்ளது:

பவர் வினவலில் வழக்கமான வெளிப்பாடுகள் (RegExp).

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

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

HTML மார்க்அப் மொழிக்கு கூடுதலாக உதவி என்ன சொல்லவில்லை செயல்பாடு இணையப்பக்கம் ஜாவாஸ்கிரிப்ட் ஸ்கிரிப்ட்களை ஆதரிக்கிறது, இது இப்போது இணையத்தில் உள்ள இணையதளங்களில் எங்கும் காணப்படுகிறது. ஜாவாஸ்கிரிப்ட், எப்போதும் வழக்கமான வெளிப்பாடுகளுடன் வேலை செய்ய முடியும் மற்றும் RegExps க்கான உள்ளமைக்கப்பட்ட செயல்பாடுகளைக் கொண்டுள்ளது! எனவே பவர் வினவலில் வழக்கமான வெளிப்பாடுகளை செயல்படுத்த, பவர் வினவிற்கான அனைத்து வேலைகளையும் செய்யும் சிறிய ஜாவாஸ்கிரிப்ட் நிரலுக்கு ஒரு வாதமாக Web.Page செயல்பாடுகளை வழங்க வேண்டும்.

சுத்தமான ஜாவாஸ்கிரிப்ட்டில் இது எப்படி இருக்கும்

இணையத்தில் ஜாவாஸ்கிரிப்டில் வழக்கமான வெளிப்பாடுகளுடன் பணிபுரியும் விரிவான பயிற்சிகள் நிறைய உள்ளன (உதாரணமாக, ஒன்று, இரண்டு).

சுருக்கமாகவும் எளிமையாகவும், ஜாவாஸ்கிரிப்ட் குறியீடு இப்படி இருக்கும்:

பவர் வினவலில் வழக்கமான வெளிப்பாடுகள் (RegExp).

இங்கே:

  • var str = 'தொத்திறைச்சிக்கு பில்கள் 123 மற்றும் 789 செலுத்தவும்'; - ஒரு மாறியை உருவாக்கவும் str, நாம் ஆய்வு செய்யும் மூல உரையை அதற்கு ஒதுக்கவும்.
  • var முறை = /d+/gi; - ஒரு வழக்கமான வெளிப்பாட்டை உருவாக்கி அதை ஒரு மாறியில் வைக்கவும் முறை.

    வெளிப்பாடு ஒரு சாய்வு (/) உடன் தொடங்குகிறது.

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

    வெளிப்பாட்டின் பின்னம் மூலம், கூடுதல் தேடல் அளவுருக்கள் (மாற்றியமைப்பாளர்கள்) உள்ளன - அவை எந்த வரிசையிலும் குறிப்பிடப்படலாம்:

    • g – உலகளாவிய தேடலைக் குறிக்கிறது, அதாவது பொருத்தத்தைக் கண்டறிந்த பிறகு, நீங்கள் நிறுத்தக்கூடாது, ஆனால் உரையின் இறுதி வரை தேடலைத் தொடரவும். இந்த மாற்றி அமைக்கப்படவில்லை என்றால், எங்கள் ஸ்கிரிப்ட் முதல் பொருத்தத்தை மட்டுமே வழங்கும் (123)
    • i - கடிதங்களைப் பொருட்படுத்தாமல் தேடுங்கள்
    • m - பல வரி தேடல் (மூல உரை பல வரிகளாக பிரிக்கப்படும் போது பயன்படுத்தப்படுகிறது)
  • var முடிவு = str.match(pattern).join(';'); - மூல உரையில் ஒரு தேடலைச் செய்யவும் (str,) கொடுக்கப்பட்ட வழக்கமான வெளிப்பாடு மூலம் (முறை) மற்றும் முடிவுகளை ஒரு மாறியில் வைக்கவும் விளைவாக, கட்டளையைப் பயன்படுத்தி அரைப்புள்ளியுடன் அவற்றை இணைக்கிறது சேர
  • document.write(முடிவு); - முடிவு மாறியின் உள்ளடக்கங்களைக் காட்டவும்

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

வெளியீட்டில், இந்த ஸ்கிரிப்ட் மூல உரையில் காணப்படும் அனைத்து எண்களையும் நமக்குத் தரும்:

123, 789

JavaScript குறுகிய பாடநெறி முடிந்தது, அனைவருக்கும் நன்றி. உங்களுக்கு லாஜிக் கிடைக்கும் என்று நம்புகிறேன்🙂

இந்த கட்டுமானத்தை பவர் வினவலுக்கு மாற்ற வேண்டும்.

பவர் வினவலில் வழக்கமான வெளிப்பாடு மூலம் உரை செயல்பாட்டைத் தேடி பிரித்தெடுக்கவும்

நாங்கள் பின்வருவனவற்றைச் செய்கிறோம்:

1. எக்செல் திறந்து தாவலில் புதிய வெற்று பவர் வினவலை உருவாக்கவும் தரவு - தரவைப் பெறுதல் / கோரிக்கையை உருவாக்குதல் - பிற மூலங்களிலிருந்து - வெற்று கோரிக்கை (தரவு - தரவைப் பெறுதல் / புதிய வினவல் - பிற மூலங்களிலிருந்து - வெற்று வினவல்). உங்களிடம் எக்செல் 2010-2013 மற்றும் பவர் வினவலின் பழைய பதிப்பு இருந்தால், உங்களிடம் உள்ளமைவு இல்லை, ஆனால் தனி செருகு நிரலாக நிறுவப்பட்டிருந்தால், இவை அனைத்தும் தாவலில் இருக்கும் சக்தி வினவல்மற்றும் இல்லை தேதி.

2. திறக்கும் வினவல் எடிட்டரின் வெற்று சாளரத்தில், வலது பேனலில், உடனடியாக எங்கள் எதிர்கால செயல்பாட்டின் பெயரை உள்ளிடவும் (எடுத்துக்காட்டாக, fxRegExpExtract)

பவர் வினவலில் வழக்கமான வெளிப்பாடுகள் (RegExp).

3. தாவலுக்கு செல்வோம் காண்க - மேம்பட்ட எடிட்டர் (பார்வை - மேம்பட்ட எடிட்டர்), காலியான கோரிக்கையின் முழு M-குறியீட்டையும் அழித்து, எங்கள் சூப்பர்ஃபங்க்ஷனின் குறியீட்டை அங்கு ஒட்டுகிறோம்:

பவர் வினவலில் வழக்கமான வெளிப்பாடுகள் (RegExp).

உங்கள் கைகளை கவனியுங்கள்:

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

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

துண்டு:

[தரவு]{0}[குழந்தைகள்]{0}[குழந்தைகள்]{1}[உரை]{0}

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

பவர் வினவலில் வழக்கமான வெளிப்பாடுகள் (RegExp).

… மேலும் இந்த வார்த்தையை நாம் பலமுறை கிளிக் செய்ய வேண்டும் மேசை, நெடுவரிசைகளில் உள்ள குழந்தை உள்ள அட்டவணைகளில் அடுத்தடுத்து "விழும்" குழந்தைகள்:

பவர் வினவலில் வழக்கமான வெளிப்பாடுகள் (RegExp).

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

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

இங்கே சில விதை எடுத்துக்காட்டுகள் உள்ளன.

எடுத்துக்காட்டு 1. கட்டண விளக்கத்திலிருந்து கணக்கு எண் மற்றும் தேதியைப் பெறுதல்

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

பவர் வினவலில் வழக்கமான வெளிப்பாடுகள் (RegExp).

நாங்கள் அட்டவணையை பவர் வினவலில் நிலையான வழியில் ஏற்றுகிறோம் தரவு - அட்டவணை/வரம்பிலிருந்து (தரவு - இருந்து டிமுடியும்/ஆர்தேவதை).

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

பவர் வினவலில் வழக்கமான வெளிப்பாடுகள் (RegExp).

வழக்கமான வெளிப்பாடாக (வாதம் ரீஜெக்ஸ்) நாங்கள் பயன்படுத்தும் டெம்ப்ளேட்:

(டி{3,5}|d{2}.d{2}.d{4})

… மனித மொழியில் மொழிபெயர்க்கப்பட்ட பொருள்: 

3 முதல் 5 இலக்கங்கள் வரையிலான எண்கள் (கணக்கு எண்கள்)

or

"2-பிட் எண் - புள்ளி - 2-பிட் எண் - புள்ளி - 4-பிட் எண்" படிவத்தின் துண்டுகள், அதாவது, DD.MM.YYYY படிவத்தின் தேதிகள்.

ஒரு டிலிமிட்டர் பாத்திரமாக (வாதம் டிலிம்) அரைப்புள்ளியை உள்ளிடவும்.

கிளிக் செய்த பிறகு OK எங்கள் மேஜிக் செயல்பாடு எங்கள் வழக்கமான வெளிப்பாட்டின் படி அனைத்து ஆரம்ப தரவையும் பகுப்பாய்வு செய்கிறது மற்றும் விலைப்பட்டியல்களின் கண்டுபிடிக்கப்பட்ட எண்கள் மற்றும் தேதிகளுடன் எங்களுக்காக ஒரு நெடுவரிசையை உருவாக்குகிறது:

பவர் வினவலில் வழக்கமான வெளிப்பாடுகள் (RegExp).

கட்டளையைப் பயன்படுத்தி அரைப்புள்ளி மூலம் பிரிக்க இது உள்ளது முகப்பு - ஸ்பிலிட் நெடுவரிசை - டிலிமிட்டர் மூலம் (முகப்பு - ஸ்பிலிட் நெடுவரிசை - டிலிமிட்டர் மூலம்) மற்றும் நாம் விரும்பியதைப் பெறுகிறோம்:

பவர் வினவலில் வழக்கமான வெளிப்பாடுகள் (RegExp).

அழகு!

எடுத்துக்காட்டு 2: உரையிலிருந்து மின்னஞ்சல் முகவரிகளைப் பிரித்தெடுக்கவும்

ஆரம்ப தரவுகளாக பின்வரும் அட்டவணையை வைத்துள்ளோம் என்று வைத்துக்கொள்வோம்:

பவர் வினவலில் வழக்கமான வெளிப்பாடுகள் (RegExp).

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

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

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

பவர் வினவலில் வழக்கமான வெளிப்பாடுகள் (RegExp).

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

[w|.|-]*@w*.[w|.]*

பிரிப்பானாக (டிலிம்) நீங்கள் ஒரு அரைப்புள்ளி மற்றும் ஒரு இடத்தை உள்ளிடலாம்.

கிளிக் செய்யவும் OK "கஞ்சி" என்ற அசல் உரையிலிருந்து பிரித்தெடுக்கப்பட்ட மின்னஞ்சல் முகவரிகளுடன் ஒரு நெடுவரிசையைப் பெறுகிறோம்:

பவர் வினவலில் வழக்கமான வெளிப்பாடுகள் (RegExp).

மந்திரம்!

PS

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

ஆன்லைன் எடிட்டரில் https://regexr.com/ தளத்தில் வழக்கமான வெளிப்பாடுகளுடன் விளையாடுவது வசதியானது என்பதையும் நான் சேர்க்க விரும்புகிறேன். அங்கு பிரிவில் சமூக வடிவங்கள் எல்லா சந்தர்ப்பங்களுக்கும் ஏராளமான ரெடிமேட் ரெகுலர் சீசன்கள் உள்ளன. பரிசோதனை - வழக்கமான வெளிப்பாடுகளின் அனைத்து சக்தியும் இப்போது பவர் வினவலில் உங்கள் சேவையில் உள்ளது!

  • வழக்கமான வெளிப்பாடுகள் என்ன (RegExp) மற்றும் அவற்றை எக்செல் இல் எவ்வாறு பயன்படுத்துவது
  • பவர் வினவலில் தெளிவற்ற உரை தேடல்
  • பவர் வினவலைப் பயன்படுத்தி வெவ்வேறு கோப்புகளிலிருந்து அட்டவணைகளை அசெம்பிள் செய்தல்

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