Excel Regex៖ ផ្គូផ្គងខ្សែអក្សរដោយប្រើកន្សោមធម្មតា។

  • ចែករំលែកនេះ។
Michael Brown

នៅក្នុងមេរៀននេះ យើងនឹងពិនិត្យមើលស៊ីជម្រៅអំពីរបៀបប្រើ regex ដើម្បីផ្គូផ្គងខ្សែអក្សរក្នុង Excel។

នៅពេលដែលអ្នកត្រូវការស្វែងរកតម្លៃជាក់លាក់ក្នុងជួរមួយ។ នៃក្រឡា អ្នកនឹងប្រើមុខងារ MATCH ឬ XMATCH ។ នៅពេលស្វែងរកខ្សែអក្សរជាក់លាក់មួយនៅក្នុងក្រឡា មុខងារ FIND និង SEARCH មានប្រយោជន៍។ ហើយ​តើ​អ្នក​ដឹង​ថា​តើ​ក្រឡា​មួយ​មាន​ព័ត៌មាន​ដែល​ត្រូវ​នឹង​លំនាំ​ដែល​បាន​ផ្តល់​ឱ្យ​ដោយ​របៀប​ណា? ជាក់ស្តែងដោយប្រើកន្សោមធម្មតា។ ប៉ុន្តែចេញពីប្រអប់ Excel មិនគាំទ្រ regexes ទេ! កុំបារម្ភ យើងនឹងបង្ខំវាឱ្យ :)

    មុខងារ Excel VBA Regex ដើម្បីផ្គូផ្គងខ្សែអក្សរ

    ព្រោះវាច្បាស់ណាស់ពីក្បាល ដើម្បីប្រើកន្សោមធម្មតា នៅក្នុង Excel អ្នកត្រូវបង្កើតមុខងារផ្ទាល់ខ្លួនរបស់អ្នក។ ជាសំណាងល្អ VBA របស់ Excel មានវត្ថុ RegExp inbuilt ដែលអ្នកអាចប្រើក្នុងកូដរបស់អ្នកដូចបានបង្ហាញខាងក្រោម៖

    មុខងារសាធារណៈ RegExpMatch(input_range As Range, pattern As String, Optional match_case As Boolean = True) As វ៉ារ្យង់ Dim arRes() ជាអារេវ៉ារ្យង់ដើម្បីរក្សាទុកលទ្ធផល Dim iInputCurRow, iInputCurCol, cntInputRows, cntInputCols As Long 'សន្ទស្សន៍នៃជួរបច្ចុប្បន្នក្នុងជួរប្រភព លិបិក្រមនៃជួរឈរបច្ចុប្បន្ននៅក្នុងជួរប្រភព ចំនួនជួរដេក ចំនួននៃ columns On Error GoTo ErrHandl RegExpMatch = arRes Set regex = CreateObject ( "VBScript.RegExp" ) regex.pattern = pattern regex.Global = True regex.MultiLine = True If True = match_case បន្ទាប់មក regex.ignorecase = False Else regex. ចប់កន្សោម។

    លំនាំ : \b[\w\.\-]+@[A-Za-z0-9]+[A-Za-z0-9\.\- ]*[A-Za-z0-9]+\.[A-Za-z]{2,24}\b

    ដើម្បីយល់កាន់តែច្បាស់អំពីអ្វីដែលកំពុងកើតឡើងនៅទីនេះ សូមពិនិត្យមើលឱ្យកាន់តែច្បាស់នៅផ្នែកនីមួយៗ :

    • ឈ្មោះអ្នកប្រើប្រាស់ អាចរួមបញ្ចូលអក្សរ លេខ សញ្ញាចុច ចំណុច និងសហសញ្ញា។ ដោយចងចាំថា \w ផ្គូផ្គងអក្សរណាមួយ ខ្ទង់ ឬសញ្ញាគូស យើងទទួលបាន regex ខាងក្រោម៖ [\w\.\-]+
    • ឈ្មោះដែន អាចរួមបញ្ចូលអក្សរធំ និងអក្សរតូច។ ខ្ទង់ សហសញ្ញា (ប៉ុន្តែមិននៅក្នុងទីតាំងដំបូង ឬចុងក្រោយ) និងចំណុច (ក្នុងករណីដែនរង)។ ដោយសារ​សញ្ញា​គូស​មិន​ត្រូវ​បាន​អនុញ្ញាត ជំនួស​ឱ្យ \w យើង​កំពុង​ប្រើ​សំណុំ​តួអក្សរ 3 ផ្សេង​គ្នា៖ [A-Za-z0-9]+[A-Za-z0-9\.\-]*[A-Za-z0-9 ]+
    • ដែនកម្រិតកំពូល មានចំនុចដែលអមដោយអក្សរធំ និងអក្សរតូច។ វាអាចមានពី 2 ទៅ 24 អក្សរ (TLD ដែលវែងបំផុតនាពេលបច្ចុប្បន្ន)៖ \.[A-Za-z]{2,24}

    ចំណាំ។ លំនាំសន្មត់ថាឈ្មោះដែនមានតួអក្សរលេខ 2 ឬច្រើនជាងនេះ។

    ជាមួយនឹងអត្ថបទដើមនៅក្នុង A5 និងលំនាំក្នុង A5 រូបមន្តមានរូបរាងនេះ៖

    =RegExpMatch(A5, $A$2)

    ឬអ្នកអាចប្រើធម្មតាសាមញ្ញជាងនេះ កន្សោម​សម្រាប់​ការ​បញ្ជាក់​អ៊ីមែល​ដោយ​មាន​សំណុំ​តួអក្សរ​តូច ឬ​អក្សរធំ៖

    លំនាំ : \b[\w\.\-]+@[a-z0-9]+[a- z0-9\.\-]*[a-z0-9]+\.[a-z]{2,24}\b

    ប៉ុន្តែធ្វើឱ្យរូបមន្តរបស់អ្នកមិនប្រកាន់អក្សរតូចធំ៖

    =RegExpMatch(A5, $A$2, FALSE)

    រូបមន្ត Excel IF ជាមួយការផ្គូផ្គង regex

    ដោយសារតែការពិតដែលថា inbuilt និងផ្ទាល់ខ្លួនមុខងារដំណើរការបានល្អ មិនមានអ្វីអាចរារាំងអ្នកពីការប្រើប្រាស់ពួកវាជាមួយគ្នាក្នុងរូបមន្តតែមួយ។

    ដើម្បីត្រឡប់ ឬគណនាអ្វីមួយ ប្រសិនបើកន្សោមធម្មតាត្រូវគ្នា និងអ្វីផ្សេងទៀតប្រសិនបើវាមិនត្រូវគ្នា សូមបង្កប់ RegExpMatch ផ្ទាល់ខ្លួន មុខងារនៅក្នុងអត្ថបទឡូជីខលនៃ IF:

    IF(RegExpMatch(…), [value_if_true], [value_if_false])

    ឧទាហរណ៍ ប្រសិនបើខ្សែអក្សរក្នុង A5 មានអាសយដ្ឋានអ៊ីមែលត្រឹមត្រូវ អ្នកអាចត្រឡប់ "បាទ/ចាស"។ បើមិនដូច្នេះទេ "ទេ"។

    =IF(RegExpMatch(A5, $A$2,), "Yes", "No")

    រាប់ប្រសិនបើ regex ត្រូវបានផ្គូផ្គង

    ដោយសារតែមុខងារ Excel ដើមមិនគាំទ្រកន្សោមធម្មតា វាគឺជា មិនអាចដាក់ regex ដោយផ្ទាល់នៅក្នុងមុខងារ COUNTIS ឬ COUNTIFS បានទេ។ សំណាងល្អ អ្នកអាចត្រាប់តាមមុខងារនេះដោយប្រើមុខងារផ្ទាល់ខ្លួនរបស់យើង។

    ឧបមាថាអ្នកបានប្រើ regex ដើម្បីផ្គូផ្គងលេខទូរស័ព្ទ និងបញ្ចេញលទ្ធផលក្នុងជួរ B។ ដើម្បីរកមើលថាតើកោសិកាប៉ុន្មានមានលេខទូរស័ព្ទ អ្នកគ្រាន់តែត្រូវការ ដើម្បីរាប់តម្លៃពិតក្នុង B5:B9។ ហើយនោះអាចធ្វើបានយ៉ាងងាយស្រួលដោយប្រើរូបមន្តស្តង់ដារ COUNTIF៖

    =COUNTIF(B5:B9, TRUE)

    មិនចង់បានជួរឈរបន្ថែមណាមួយនៅក្នុងសន្លឹកកិច្ចការរបស់អ្នកទេ? គ្មាន​បញ្ហា។ ដោយចងចាំថាមុខងារផ្ទាល់ខ្លួនរបស់យើងអាចដំណើរការក្រឡាច្រើនក្នុងពេលតែមួយ ហើយ SUM របស់ Excel អាចបន្ថែមតម្លៃនៅក្នុងអារេមួយ នេះជាអ្វីដែលអ្នកធ្វើ៖

    • ផ្គត់ផ្គង់ជួរយោងទៅ RegExpMatch ដូច្នេះវាត្រឡប់ អារេនៃតម្លៃ TRUE និង FALSE ។
    • ប្រើការបដិសេធពីរដង (--) ដើម្បីបង្ខិតបង្ខំតម្លៃឡូជីខលទៅមួយ និងសូន្យ។
    • ទទួលបានអនុគមន៍ SUM ដើម្បីបន្ថែម 1 និង 0 នៅក្នុងអារេលទ្ធផល។

    =SUM(--RegExpMatch(A5:A9, $A$2))

    ការផ្គូផ្គង Regex ជាមួយ Ultimate Suite

    អ្នកប្រើប្រាស់ Ultimate Suite របស់យើងអាចប្រើប្រាស់មុខងារ Regex ដ៏មានអានុភាពចំនួនបួន ដោយមិនចាំបាច់បន្ថែមកូដ VBA ណាមួយទៅក្នុងសៀវភៅការងាររបស់ពួកគេ ដោយសារពួកវាត្រូវបានដាក់បញ្ចូលយ៉ាងរលូនទៅក្នុង Excel កំឡុងពេលដំឡើងកម្មវិធីបន្ថែម។ មុខងារផ្ទាល់ខ្លួនរបស់យើងត្រូវបានដំណើរការដោយម៉ាស៊ីនស្តង់ដារ .NET RegEx និងគាំទ្រកន្សោមធម្មតាបុរាណដែលមានលក្ខណៈពិសេសពេញលេញ។

    របៀបប្រើមុខងារ RegexMatch ផ្ទាល់ខ្លួន

    សន្មត់ថាអ្នកមានកំណែចុងក្រោយបំផុតនៃ Ultimate Suite ដែលបានដំឡើង ( 2021.4 ឬក្រោយ) អ្នកអាចបង្កើតរូបមន្ត Regex Match ក្នុងជំហានសាមញ្ញពីរ៖

    1. នៅលើផ្ទាំង Ablebits Data ក្នុងក្រុម Text ចុច ឧបករណ៍ Regex

  • នៅលើបន្ទះ ឧបករណ៍ Regex សូមធ្វើដូចខាងក្រោម៖
    • ជ្រើសរើស ខ្សែអក្សរប្រភព។
    • បញ្ចូលលំនាំរបស់អ្នក។
    • ជ្រើសរើសជម្រើស ផ្គូផ្គង
    • ដើម្បីឱ្យមានលទ្ធផលជារូបមន្ត មិនមែនតម្លៃ ជ្រើសរើស បញ្ចូលជារូបមន្ត ប្រអប់ធីក។
    • ចុចប៊ូតុង ផ្គូផ្គង

    មួយសន្ទុះក្រោយមក មុខងារ AblebitsRegexMatch ត្រូវបានបញ្ចូលក្នុងជួរឈរថ្មីនៅខាងស្តាំទិន្នន័យរបស់អ្នក។

    នៅក្នុងរូបថតអេក្រង់ខាងក្រោម មុខងារពិនិត្យមើលថាតើខ្សែអក្សរក្នុងជួរ A មាន 7 ខ្ទង់ឬអត់ លេខឬអត់។

    គន្លឹះ៖

    • មុខងារ tion អាចត្រូវបាន បញ្ចូល ដោយផ្ទាល់នៅក្នុងក្រឡា តាមរយៈប្រអប់ស្តង់ដារ បញ្ចូលអនុគមន៍ ដែលវាត្រូវបានចាត់ថ្នាក់នៅក្រោម AblebitsUDFs
    • តាមលំនាំដើម កន្សោមធម្មតាត្រូវបានបន្ថែមទៅរូបមន្ត ប៉ុន្តែអ្នកក៏អាចរក្សាទុក វានៅក្នុងក្រឡាដាច់ដោយឡែកមួយ។ សម្រាប់បញ្ហានេះ គ្រាន់តែប្រើឯកសារយោងក្រឡាសម្រាប់អាគុយម៉ង់ទី 2។
    • តាមលំនាំដើម មុខងារគឺ ប្រកាន់អក្សរតូចធំ ។ សម្រាប់ការផ្គូផ្គងអក្សរតូចធំ ប្រើលំនាំ (?i)។

    សម្រាប់ព័ត៌មានបន្ថែម សូមមើលមុខងារ AbblebitsRegexMatch។

    នោះជារបៀបធ្វើការផ្គូផ្គងកន្សោមធម្មតានៅក្នុង Excel។ ខ្ញុំសូមអរគុណចំពោះការអាន ហើយទន្ទឹងរង់ចាំជួបអ្នកនៅលើប្លក់របស់យើងនៅសប្តាហ៍ក្រោយ!

    ការទាញយកដែលមាន

    ឧទាហរណ៍ Excel Regex Match (.xlsm file)

    Ultimate Suite 14- កំណែដែលមានមុខងារពេញមួយថ្ងៃ (ឯកសារ .exe)

    ប្រសិនបើ cntInputRows = input_range.Rows.Count cntInputCols = input_range.Columns.Count ReDim arRes(1 To cntInputRows, 1 To cntInputCols) សម្រាប់ iInputCurRow = 1 To cntInputRows សម្រាប់ iInputCurCol = 1 To cntInputCurregourCols .Cells(iInputCurRow, iInputCurCol).Value) Next Next Next RegExpMatch = arRes Exit Function ErrHandl: RegExpMatch = CVErr(xlErrValue) មុខងារបញ្ចប់

    បិទភ្ជាប់កូដនៅក្នុងកម្មវិធីនិពន្ធ VBA ហើយមុខងារ RegExpMatch ថ្មីរបស់អ្នក រួចរាល់សម្រាប់ការប្រើប្រាស់។ ប្រសិនបើអ្នកមិនសូវមានបទពិសោធន៍ជាមួយ VBA ទេ ការណែនាំនេះអាចមានប្រយោជន៍៖ របៀបបញ្ចូលកូដ VBA ក្នុង Excel។

    ចំណាំ។ បន្ទាប់ពីបញ្ចូលកូដហើយ កុំភ្លេចរក្សាទុកឯកសាររបស់អ្នកជា សៀវភៅការងារដែលអាចប្រើម៉ាក្រូ (.xlsm)។

    វាក្យសម្ព័ន្ធ RegExpMatch

    មុខងារ RegExpMatch ពិនិត្យមើលថាតើផ្នែកណាមួយនៃខ្សែអក្សរប្រភពត្រូវគ្នានឹងកន្សោមធម្មតា។ លទ្ធផលគឺជាតម្លៃ Boolean៖ TRUE ប្រសិនបើការផ្គូផ្គងយ៉ាងហោចណាស់មួយត្រូវបានរកឃើញ FALSE បើមិនដូច្នេះទេ FALSE។

    មុខងារផ្ទាល់ខ្លួនរបស់យើងមាន 3 អាគុយម៉ង់ - ពីរដំបូងត្រូវបានទាមទារ ហើយចុងក្រោយគឺស្រេចចិត្ត៖

    RegExpMatch(text , pattern, [match_case])

    Where:

    • Text (required) - ខ្សែអក្សរមួយ ឬច្រើនដើម្បីស្វែងរក។ អាចត្រូវបានផ្គត់ផ្គង់ជាក្រឡា ឬជួរយោង។
    • លំនាំ (ទាមទារ) - កន្សោមធម្មតាដែលត្រូវគ្នា។ នៅពេលដាក់ដោយផ្ទាល់ក្នុងរូបមន្ត លំនាំត្រូវតែត្រូវបានរុំព័ទ្ធក្នុងសញ្ញាសម្រង់ទ្វេ។
    • Match_case (ជាជម្រើស) - កំណត់ការផ្គូផ្គងប្រភេទ។ ប្រសិនបើពិត ឬលុបចោល (លំនាំដើម) ការផ្គូផ្គងអក្សរតូចធំត្រូវបានអនុវត្ត។ ប្រសិនបើ FALSE - មិនប្រកាន់អក្សរតូចធំ។

    មុខងារនេះដំណើរការនៅគ្រប់កំណែទាំងអស់នៃ Excel 365, Excel 2021, Excel 2019, Excel 2016, Excel 2013 និង Excel 2010។

    3 អ្វីដែលអ្នក គួរដឹងអំពី RegExpMatch

    មុនពេលយើងទៅដល់ការគណនាជាក់ស្តែង សូមកត់សម្គាល់ចំណុចខាងក្រោមដែលបញ្ជាក់ពីបច្ចេកទេសមួយចំនួន៖

    1. មុខងារអាចដំណើរការ កោសិកាតែមួយ ជួរក្រឡា ។ ក្នុងករណីចុងក្រោយ លទ្ធផលត្រូវបានបញ្ជូនត្រឡប់មកវិញនៅក្នុងក្រឡាដែលនៅជិតខាងក្នុងទម្រង់ជាអារេថាមវន្ត ឬជួរកំពប់ ដូចបានបង្ហាញក្នុងឧទាហរណ៍នេះ។
    2. តាមលំនាំដើម មុខងារគឺ ប្រកាន់អក្សរតូចធំ<៩>។ ដើម្បីមិនអើពើករណីអត្ថបទ សូមកំណត់អាគុយម៉ង់ match_case ទៅជា FALSE ។ ដោយសារតែដែនកំណត់របស់ VBA Regexp លំនាំមិនប្រកាន់អក្សរតូចធំ (?i) មិនត្រូវបានគាំទ្រទេ។
    3. ប្រសិនបើរកមិនឃើញលំនាំត្រឹមត្រូវ មុខងារនឹងត្រឡប់ FALSE ។ ប្រសិនបើ លំនាំមិនត្រឹមត្រូវ នោះ #VALUE! កំហុសកើតឡើង។

    ខាងក្រោម អ្នកនឹងឃើញឧទាហរណ៍ការផ្គូផ្គង regex មួយចំនួនដែលត្រូវបានបង្កើតឡើងសម្រាប់គោលបំណងបង្ហាញ។ យើងមិនអាចធានាថាគំរូរបស់យើងនឹងដំណើរការដោយគ្មានកំហុសជាមួយនឹងជួរទិន្នន័យបញ្ចូលដ៏ធំទូលាយនៅក្នុងសន្លឹកកិច្ចការពិតប្រាកដរបស់អ្នក។ មុនពេលដាក់ឱ្យដំណើរការ ត្រូវប្រាកដថាសាកល្បង និងកែតម្រូវគំរូគំរូរបស់យើងតាមតម្រូវការរបស់អ្នក។

    របៀបប្រើ regex ដើម្បីផ្គូផ្គងខ្សែអក្សរក្នុង Excel

    នៅពេលដែលខ្សែអក្សរទាំងអស់ដែលអ្នកចង់ផ្គូផ្គងមាន លំនាំដូចគ្នា,កន្សោមធម្មតាគឺជាដំណោះស្រាយដ៏ល្អមួយ។

    ឧបមាថាអ្នកមានជួរនៃក្រឡា (A5:A9) ដែលមានព័ត៌មានលម្អិតផ្សេងៗអំពីធាតុមួយចំនួន។ អ្នកចង់ដឹងថាតើកោសិកាណាខ្លះមាន SKUs ។ ដោយសន្មតថា SKU នីមួយៗមាន 2 អក្សរធំ សហសញ្ញា និង 3 ខ្ទង់ អ្នកអាចផ្គូផ្គងពួកវាដោយប្រើកន្សោមខាងក្រោម។

    លំនាំ : \b[A-Z]{2}-\ d{3}\b

    កន្លែងដែល [A-Z]{2} មានន័យថាអក្សរធំទាំង 2 ពី A ដល់ Z និង \d{3} មានន័យថាលេខ 3 ខ្ទង់ណាមួយពី 0 ទៅ 9 ។ តួអក្សរ \b តំណាងឱ្យពាក្យមួយ ព្រំដែន មានន័យថា SKU គឺជាពាក្យដាច់ដោយឡែក ហើយមិនមែនជាផ្នែកនៃខ្សែអក្សរធំជាងដូចជា 23-MAR-2022។

    ជាមួយនឹងលំនាំដែលបានបង្កើតឡើង យើងអាចបន្តទៅការសរសេររូបមន្ត។ ជាការសំខាន់ ការប្រើប្រាស់មុខងារផ្ទាល់ខ្លួនគឺមិនខុសពីមុខងារដើមនោះទេ។ ដរាបណាអ្នកចាប់ផ្តើមវាយរូបមន្ត នោះឈ្មោះរបស់មុខងារនឹងបង្ហាញក្នុងបញ្ជីដែលស្នើដោយកម្មវិធី Excel's AutoComplete។ ទោះយ៉ាងណាក៏ដោយ មានភាពខុសប្លែកគ្នាមួយចំនួននៅក្នុង Dynamic Array Excel (Microsoft 365 និង Excel 2021) និង Excel ប្រពៃណី (ឆ្នាំ 2019 និងកំណែចាស់ជាងនេះ)។

    ផ្គូផ្គងខ្សែអក្សរក្នុងក្រឡាមួយ

    ដើម្បីផ្គូផ្គងខ្សែអក្សរ ក្នុងក្រឡាតែមួយ យោងទៅក្រឡានោះនៅក្នុងអាគុយម៉ង់ទីមួយ។ អាគុយម៉ង់ទីពីរត្រូវបានគេសន្មត់ថាមានកន្សោមធម្មតា។

    =RegExpMatch(A5, "\b[A-Z]{2}-\d{3}\b")

    គំរូក៏អាចត្រូវបានរក្សាទុកនៅក្នុងក្រឡាដែលបានកំណត់ជាមុន ដែលត្រូវបានចាក់សោដោយឯកសារយោងដាច់ខាត ($A$2):

    =RegExpMatch(A5, $A$2)

    បន្ទាប់ពីបញ្ចូលរូបមន្តក្នុងក្រឡាទីមួយ អ្នកអាចអូសវាចុះក្រោមទៅជួរផ្សេងទៀតទាំងអស់។

    វិធីសាស្ត្រនេះដំណើរការយ៉ាងស្រស់ស្អាតនៅក្នុង កំណែ Excel ទាំងអស់

    ផ្គូផ្គងខ្សែអក្សរក្នុងក្រឡាច្រើនក្នុងពេលតែមួយ

    ដើម្បីផ្គូផ្គងខ្សែអក្សរច្រើនជាមួយរូបមន្តតែមួយ រួមបញ្ចូលសេចក្តីយោងជួរនៅក្នុងអាគុយម៉ង់ទីមួយ៖

    =RegExpMatch(A5:A9, "\b[A-Z]{2}-\d{3}\b")

    នៅក្នុង Excel 365 និង Excel 2021 ដែលគាំទ្រអារេថាមវន្ត វាដំណើរការតាមវិធីនេះ - អ្នក​វាយ​រូបមន្ត​ក្នុង​ក្រឡា​ទីមួយ ចុច Enter ហើយ​រូបមន្ត​នឹង​ធ្លាក់​ចូល​ក្រឡា​ខាងក្រោម​ដោយ​ស្វ័យ​ប្រវត្តិ។

    ក្នុង Excel 2019 និង​មុន​នេះ​វា ដំណើរការតែជារូបមន្តអារេ CSE ប្រពៃណី ដែលត្រូវបានបញ្ចូលក្នុងជួរក្រឡាមួយ ហើយបញ្ចប់ដោយចុចគ្រាប់ចុច Ctrl + Shift + Enter ជាមួយគ្នា។

    Regex ដើម្បីផ្គូផ្គងលេខ

    ដើម្បីផ្គូផ្គងលេខណាមួយពី 0 ដល់ 9 សូមប្រើតួអក្សរ \d ក្នុង regex ។ អាស្រ័យលើការងារជាក់លាក់របស់អ្នក បន្ថែមបរិមាណសមស្រប ឬបង្កើតលំនាំស្មុគស្មាញជាងនេះ។

    Regex ដើម្បីផ្គូផ្គងលេខណាមួយ

    ដើម្បីផ្គូផ្គងលេខណាមួយនៃប្រវែងណាមួយ ដាក់ + quantifier ភ្លាមៗបន្ទាប់ពី / d តួអក្សរ ដែលនិយាយថាត្រូវរកមើលលេខដែលមានលេខ 1 ឬច្រើនខ្ទង់។

    លំនាំ : \d+

    =RegExpMatch(A5:A9, "\d+")

    Regex ដើម្បីផ្គូផ្គងចំនួននៃប្រវែងជាក់លាក់

    ប្រសិនបើគោលដៅរបស់អ្នកគឺដើម្បីផ្គូផ្គងតម្លៃលេខដែលមានចំនួនខ្ទង់ជាក់លាក់ បន្ទាប់មកប្រើ \d រួមជាមួយនឹងបរិមាណសមស្រប។

    ឧទាហរណ៍ ដើម្បី​ផ្គូផ្គង​លេខ​វិក្កយបត្រ​ដែល​មាន ៧ ខ្ទង់​ពិតប្រាកដ អ្នក​នឹង​ប្រើ \d{7} ។ ទោះជាយ៉ាងណាក៏ដោយសូមចងចាំថាវានឹងផ្គូផ្គងលេខ 7ដូចដែលបានរំពឹងទុក៖

    ចំណាំ៖

    • លេខកូដអន្តរជាតិមិនត្រូវបានពិនិត្យទេ ដូច្នេះពួកគេអាចឬមិនមានវត្តមាន។
    • នៅក្នុងកន្សោមធម្មតា \s តំណាងឱ្យតួអក្សរដកឃ្លាណាមួយ ដូចជាលំហ ផ្ទាំង ការត្រលប់មកវិញ ឬបន្ទាត់ថ្មី។ ដើម្បីអនុញ្ញាតតែដកឃ្លា ប្រើ [-\. ] ជំនួសឱ្យ [-\.\s]។
    • Regex to NOT match character

      ដើម្បីស្វែងរកខ្សែអក្សរដែលមិនមានតួអក្សរជាក់លាក់ អ្នកអាចប្រើថ្នាក់តួអក្សរអវិជ្ជមាន [^] ដែលផ្គូផ្គង អ្វី​ដែល​មិន​នៅ​ក្នុង​តង្កៀប។ ឧទាហរណ៍៖

      • [^13] នឹងផ្គូផ្គងតួអក្សរតែមួយដែលមិនមែនជា 1 ឬ 3។
      • [^1-3] នឹងផ្គូផ្គងតួអក្សរតែមួយដែលមិនមែន 1, 2 ឬ 3 (ឧ. ខ្ទង់ណាមួយពី 1 ដល់ 3)។

      នៅក្នុងបញ្ជីលេខទូរស័ព្ទ ឧបមាថាអ្នកចង់ស្វែងរកលេខដែលមិនមានលេខកូដប្រទេស។ ដោយចងចាំថាលេខកូដអន្តរជាតិណាមួយរួមបញ្ចូលសញ្ញា + អ្នកអាចប្រើថ្នាក់តួអក្សរ [^\+] ដើម្បីស្វែងរកខ្សែអក្សរដែលមិនមានសញ្ញាបូក។ វាជាការសំខាន់ដើម្បីដឹងថាកន្សោមខាងលើត្រូវគ្នានឹងតួអក្សរតែមួយដែលមិនមែនជា + ។ ដោយសារតែលេខទូរស័ព្ទអាចស្ថិតនៅកន្លែងណាមួយក្នុងខ្សែអក្សរ មិនចាំបាច់នៅដើមដំបូងឡើយ លេខបរិមាណ * ត្រូវបានបន្ថែមដើម្បីពិនិត្យមើលតួអក្សរបន្តបន្ទាប់នីមួយៗ។ យុថ្កាចាប់ផ្តើម ^ និងបញ្ចប់ $ ធានាថាខ្សែទាំងមូលត្រូវបានដំណើរការ។ ជាលទ្ធផល យើងទទួលបានកន្សោមធម្មតាខាងក្រោមដែលនិយាយថា "មិនត្រូវគ្នានឹងតួអក្សរ + នៅក្នុងទីតាំងណាមួយនៅក្នុងខ្សែអក្សរ"។

      លំនាំ ៖^[^\+]*$

      =RegExpMatch(A5, "^[^\+]*$")

      Regex to NOT match string

      ទោះបីជាមិនមានវាក្យសម្ព័ន្ធកន្សោមធម្មតាពិសេសសម្រាប់ មិន​ត្រូវ​គ្នា​នឹង​ខ្សែ​អក្សរ​ជាក់លាក់​ទេ អ្នក​អាច​ត្រាប់​តាម​ឥរិយាបថ​នេះ​ដោយ​ប្រើ​ការ​មើល​ទៅ​អវិជ្ជមាន។

      ឧបមាថា​អ្នក​ចង់​រក​ខ្សែអក្សរ​ដែល មិន​មាន ពាក្យ "ក្រូចឆ្មា"។ កន្សោម​ធម្មតា​នេះ​នឹង​មាន​ប្រសិទ្ធភាព៖

      លំនាំ : ^((?! lemons))*$

      ច្បាស់ណាស់ ការពន្យល់ខ្លះគឺត្រូវការនៅទីនេះ។ ទិដ្ឋភាពអវិជ្ជមាន (?! lemons) មើលទៅខាងស្ដាំដើម្បីមើលថាតើមិនមានពាក្យ "ក្រូចឆ្មា" នៅខាងមុខទេ។ ប្រសិនបើ "ក្រូចឆ្មា" មិននៅទីនោះ នោះចំនុចត្រូវនឹងតួអក្សរណាមួយ លើកលែងតែការបំបែកបន្ទាត់។ កន្សោមខាងលើអនុវត្តការត្រួតពិនិត្យតែមួយប៉ុណ្ណោះ ហើយ * quantifier ធ្វើម្តងទៀតសូន្យ ឬច្រើនដង ចាប់ពីការចាប់ផ្តើមនៃខ្សែអក្សរដែលបានបោះយុថ្កាដោយ ^ ដល់ចុងបញ្ចប់នៃខ្សែអក្សរដែលបោះយុថ្កាដោយ $ ។

      ដើម្បីមិនអើពើករណីអត្ថបទ យើងកំណត់អាគុយម៉ង់ទី 3 ទៅជា FALSE ដើម្បីធ្វើឱ្យមុខងាររបស់យើងមិនប្រកាន់អក្សរតូចធំ៖

      =RegExpMatch(A5, $A$2, FALSE)

      គន្លឹះ និងកំណត់ចំណាំ៖

      • regex ខាងលើដំណើរការសម្រាប់តែខ្សែអក្សរ single-line ប៉ុណ្ណោះ។ ក្នុងករណីខ្សែអក្សរ milti-line តួអក្សរ ^ និង $ ត្រូវគ្នានឹងការចាប់ផ្តើម និងចុងបញ្ចប់នៃបន្ទាត់នីមួយៗ ជំនួសឱ្យការចាប់ផ្តើម និងចុងបញ្ចប់នៃខ្សែអក្សរបញ្ចូល ដូច្នេះ regex ស្វែងរកតែក្នុងជួរទីមួយប៉ុណ្ណោះ។
      • ដើម្បីផ្គូផ្គងខ្សែអក្សរដែល មិនចាប់ផ្តើម ជាមួយអត្ថបទជាក់លាក់ សូមប្រើកន្សោមធម្មតាដូចជា ^(?!lemons)។*$
      • ដើម្បីផ្គូផ្គងខ្សែអក្សរដែល មិនបញ្ចប់ ជាមួយអត្ថបទជាក់លាក់ សូមរួមបញ្ចូលយុថ្កាខ្សែអក្សរចុងទៅក្នុងលំនាំស្វែងរក៖ ^((?!lemons$))*$

      ការផ្គូផ្គងអក្សរតូចតាច

      នៅក្នុងកន្សោមធម្មតាបុរាណ មានលំនាំពិសេសសម្រាប់ ការផ្គូផ្គង case-insensitive (?i) ដែលមិនត្រូវបានគាំទ្រនៅក្នុង VBA RegExp។ ដើម្បីយកឈ្នះលើដែនកំណត់នេះ មុខងារផ្ទាល់ខ្លួនរបស់យើងទទួលយកអាគុយម៉ង់ជម្រើសទី 3 ដែលមានឈ្មោះថា match_case ។ ដើម្បីធ្វើការផ្គូផ្គងអក្សរតូចធំ គ្រាន់តែកំណត់វាទៅជា FALSE។

      សូមនិយាយថាអ្នកចង់កំណត់កាលបរិច្ឆេទដូចជា 1-Mar-22 ឬ 01-MAR-2022។ ដើម្បីផ្គូផ្គងទម្រង់ dd-mmm-yyyy និង d-mmm-yy យើងកំពុងប្រើកន្សោមធម្មតាខាងក្រោម។

      លំនាំ ៖ \b\d{1,2}-(មករាខ្ទង់គ្រប់ទីកន្លែងក្នុងខ្សែអក្សរ រួមទាំងលេខ 10 ខ្ទង់ ឬ 100 ខ្ទង់។ ប្រសិនបើនេះមិនមែនជាអ្វីដែលអ្នកកំពុងស្វែងរកទេ សូមដាក់ពាក្យ boundary \b ទាំងសងខាង។

      Pattern : \b\d{7}\b

      =RegExpMatch(A5:A9, "\b\d{7}\b")

      Regex ដើម្បីផ្គូផ្គងលេខទូរស័ព្ទ

      ចាប់តាំងពីលេខទូរស័ព្ទអាចត្រូវបានសរសេរក្នុងទម្រង់ផ្សេងៗគ្នា ការផ្គូផ្គងពួកវាតម្រូវឱ្យមានកន្សោមធម្មតាដែលស្មុគ្រស្មាញជាងមុន។

      នៅក្នុងសំណុំទិន្នន័យខាងក្រោម យើងនឹងស្វែងរកលេខ 10 ខ្ទង់ដែលមាន 3 ខ្ទង់ក្នុងក្រុម 2 ដំបូង និង 4 ខ្ទង់នៅក្នុងក្រុមចុងក្រោយ។ ក្រុម​អាច​ត្រូវ​បាន​បំបែក​ដោយ​មាន​សញ្ញា​ដក​សញ្ញា ឬ​ដកឃ្លា។ ក្រុមទីមួយអាចឬមិនអាចត្រូវបានរុំព័ទ្ធក្នុងវង់ក្រចក។

      លំនាំ៖ (\(\d{3}\)

    ម៉ៃឃើល ប្រោន ជា​អ្នក​ចូល​ចិត្ត​ផ្នែក​បច្ចេកវិទ្យា​ដែល​មាន​ចំណង់​ចំណូល​ចិត្ត​ក្នុង​ការ​សម្រួល​ដំណើរការ​ស្មុគស្មាញ​ដោយ​ប្រើ​ឧបករណ៍​កម្មវិធី។ ជាមួយនឹងបទពិសោធន៍ជាងមួយទស្សវត្សនៅក្នុងឧស្សាហកម្មបច្ចេកវិទ្យា គាត់បានពង្រឹងជំនាញរបស់គាត់នៅក្នុង Microsoft Excel និង Outlook ក៏ដូចជា Google Sheets និង Docs ។ ប្លក់របស់ម៉ៃឃើលគឺឧទ្ទិសដល់ការចែករំលែកចំណេះដឹង និងជំនាញរបស់គាត់ជាមួយអ្នកដទៃ ដោយផ្តល់នូវគន្លឹះ និងមេរៀនដែលងាយស្រួលធ្វើតាមសម្រាប់ការកែលម្អផលិតភាព និងប្រសិទ្ធភាព។ មិនថាអ្នកជាអ្នកជំនាញ ឬអ្នកចាប់ផ្តើមដំបូងទេ ប្លក់របស់ Michael ផ្តល់នូវការយល់ដឹងដ៏មានតម្លៃ និងដំបូន្មានជាក់ស្តែងសម្រាប់ការទទួលបានអត្ថប្រយោជន៍ច្រើនបំផុតពីឧបករណ៍កម្មវិធីសំខាន់ៗទាំងនេះ។