Excel Regex: باقاعده اظهار کي استعمال ڪندي اسٽرنگ سان ملايو

  • هن کي شيئر ڪريو
Michael Brown

هن سبق ۾، اسان کي هڪ تفصيلي نظر ڏينداسين ته ڪيئن استعمال ڪجي ريجڪس کي ايڪسل ۾ اسٽرنگ کي ملائڻ لاءِ.

جڏهن توهان کي ڪنهن حد ۾ هڪ خاص قدر ڳولڻ جي ضرورت آهي سيلز جو، توھان استعمال ڪندا MATCH يا XMATCH فنڪشن. جڏهن سيل ۾ هڪ مخصوص اسٽرنگ ڳولي رهيا آهيو، ڳولا ۽ ڳولا جا ڪم ڪارآمد هوندا آهن. ۽ توهان ڪيئن ڄاڻو ٿا ته هڪ سيل معلومات تي مشتمل آهي جيڪا ڏنل نموني سان ملندي آهي؟ ظاهر آهي، باقاعده اظهار استعمال ڪندي. پر دٻي کان ٻاهر ايڪسل ريجڪس کي سپورٽ نٿو ڏئي! پريشان نه ٿيو، اسان ان کي مجبور ڪنداسين :)

    Excel VBA Regex function to match strings

    جيئن ته هيڊنگ مان بلڪل صاف آهي، باقاعده اظهار استعمال ڪرڻ لاءِ Excel ۾، توهان کي پنهنجو فنڪشن ٺاهڻ جي ضرورت آهي. خوشقسمتيءَ سان، Excel جي VBA وٽ هڪ ان بلٽ آهي RegExp اعتراض، جيڪو توهان پنهنجي ڪوڊ ۾ استعمال ڪري سگهو ٿا جيئن هيٺ ڏيکاريل آهي:

    پبلڪ فنڪشن RegExpMatch(input_range As Range، pattern As String، Optional match_case As Boolean = True) جيئن Variant Dim arRes() As Variant' array to save نتيجن کي Dim iInputCurRow, iInputCurCol, cntInputRows, cntInputCols As Long 'موجوده قطار جي انڊيڪس ماخذ جي حد ۾، موجوده ڪالمن جي انڊيڪس ماخذ جي حد ۾، قطار جي ڳڻپ، ڳڻپ جي ڪالم آن ايرر GoTo ErrHandl RegExpMatch = arRes سيٽ ڪريو regex = CreateObject ( "VBScript.RegExp" ) regex.pattern = نمونو regex.Global = True regex.MultiLine = سچ جيڪڏھن سچو = match_case پوءِ regex = True. پڄاڻياظهار.

    نمون : \b[\w\.\-]+@[A-Za-z0-9]+[A-Za-z0-9\.\- * :

    • Username ۾ اکر، انگ، انڊر اسڪور، ڊٽس ۽ هائفن شامل ٿي سگھن ٿا. ذهن ۾ رکو ته \w ڪنهن به اکر، انگن يا انڊر اسڪور سان ملندو آهي، اسان کي هيٺيون ريجڪس ملن ٿا: [\w\.\-]+
    • ڊومين جو نالو شايد اپر ڪيز ۽ لوئر ڪيز اکر شامل ڪري سگھن ٿا، انگ اکر، hyphens (پر پهرين يا آخري پوزيشن ۾ نه) ۽ نقطا (ذيلي ڊومين جي صورت ۾). جيئن ته انڊر اسڪور جي اجازت نه آهي، ان جي بدران اسان 3 مختلف ڪردارن جا سيٽ استعمال ڪري رهيا آهيون: [A-Za-z0-9]+[A-Za-z0-9\.\-]*[A-Za-z0-9 ]+
    • Top-level domain هڪ ڊٽ تي مشتمل آهي جنهن جي پٺيان اپر ڪيز ۽ لوئر ڪيز اکر. ان ۾ 2 کان 24 اکرن تي مشتمل ٿي سگھي ٿو (سڀ کان ڊگھو TLD جيڪو ھن وقت موجود آھي): \.[A-Za-z]{2,24}

    نوٽ. نموني فرض ڪري ٿو ڊومين جو نالو 2 يا وڌيڪ الفانمري اکرن تي مشتمل آهي.

    A5 ۾ اصل متن سان ۽ A5 ۾ نموني سان، فارمولا هي شڪل وٺي ٿو:

    =RegExpMatch(A5, $A$2)

    25>

    يا توهان استعمال ڪري سگهو ٿا هڪ آسان باقاعده اي ميل جي تصديق لاءِ اظهار يا ته لوئر ڪيس يا اپر ڪيس اکر سيٽ سان:

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

    پر پنھنجي فارمولا کي غير حساس بڻايو:

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

    Excel IF فارمولا ميچ ريجڪس سان

    حقيقت جي ڪري ان بلٽ ۽ ڪسٽمفنڪشن سٺي نموني سان هلن ٿا، اتي ڪا به شيءِ نه آهي جيڪا توهان کي انهن کي هڪ فارمولي ۾ استعمال ڪرڻ کان روڪي سگهي.

    ڪجهه موٽڻ يا ڳڻڻ لاءِ جيڪڏهن هڪ ريگيولر ايڪسپريشن مليل هجي ۽ ٻيو ڪجهه جيڪڏهن اهو نه هجي ته، ڪسٽم ريگڪسپ ميچ کي شامل ڪريو فنڪشن IF جي منطقي متن ۾:

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

    مثال طور، جيڪڏهن A5 ۾ هڪ اسٽرنگ صحيح اي ميل ايڊريس تي مشتمل آهي، توهان واپس ڪري سگهو ٿا "ها"؛ ٻي صورت ۾ ”نه“.

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

    جيڪڏهن ريجڪس مليل هجي ته ڳڻيو

    ڇاڪاڻ ته ڏيهي ايڪسل فنڪشن ريگيولر ايڪسپريشن کي سپورٽ نٿا ڪن، اهو آهي ريجڪس کي سڌو سنئون COUNTIS يا COUNTIFS فنڪشن ۾ رکڻ ممڪن ناهي. خوشقسمتيءَ سان، توهان اسان جي ڪسٽم فنڪشن کي استعمال ڪندي هن فنڪشنلٽي کي ايميوليٽ ڪري سگهو ٿا.

    فرض ڪريو ته توهان فون نمبرن کي ملائڻ لاءِ ريجڪس استعمال ڪيو آهي ۽ نتيجن کي ڪالم B ۾ ڪڍيو. اهو معلوم ڪرڻ لاءِ ته ڪيترا سيل فون نمبرن تي مشتمل آهن، توهان کي صرف ضرورت آهي B5:B9 ۾ صحيح قدر ڳڻڻ لاءِ. ۽ اهو آساني سان معياري COUNTIF فارمولا استعمال ڪندي ڪري سگهجي ٿو:

    =COUNTIF(B5:B9, TRUE)

    27>

    ڇا توهان پنهنجي ورڪ شيٽ ۾ اضافي ڪالمن نٿا چاهيو؟ ڪو مسئلو ناهي. ذهن ۾ رکو ته اسان جو ڪسٽم فنڪشن هڪ وقت ۾ ڪيترن ئي سيلز کي پروسيس ڪري سگهي ٿو ۽ Excel جو SUM هڪ صف ۾ قيمتون شامل ڪري سگهي ٿو، هتي توهان ڇا ڪندا آهيو:

    • RegExpMatch ڏانهن هڪ رينج ريفرنس فراهم ڪريو، تنهنڪري اهو واپس اچي ٿو TRUE ۽ FALSE قدرن جي صف.
    • منطقي قدرن کي مجبور ڪرڻ لاءِ ٻٽي نفي (--) استعمال ڪريو ۽zeros.
    • نتيجن واري صف ۾ 1 ۽ 0 کي شامل ڪرڻ لاءِ SUM فنڪشن حاصل ڪريو.

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

    Regex ملندڙ الٽيميٽ سوٽ سان

    اسان جي الٽيميٽ سوٽ جا استعمال ڪندڙ چار طاقتور ريجڪس ڪمن کي استعمال ڪري سگھن ٿا بغير ڪنهن VBA ڪوڊ کي انهن جي ورڪ بڪ ۾ شامل ڪرڻ جي جيئن اهي آساني سان ايڪسل ۾ ضم ٿي ويا آهن اضافو انسٽاليشن دوران. اسان جا ڪسٽم فنڪشن معياري .NET RegEx انجڻ جي ذريعي پروسيس ڪيا ويندا آهن ۽ مڪمل فيچرڊ کلاسڪ ريگيولر ايڪسپريشنز کي سپورٽ ڪندا آهن.

    ڪسٽم RegexMatch فنڪشن ڪيئن استعمال ڪجي

    فرض ڪيو توهان وٽ الٽيميٽ سوٽ جو جديد ورزن انسٽال ٿيل آهي ( 2021.4 يا بعد ۾)، توهان ٻه سادي قدمن ۾ ريجڪس ميچ فارمولا ٺاهي سگهو ٿا:

    1. تي Ablebits Data ٽئب تي، ٽيڪسٽ گروپ ۾، ڪلڪ ڪريو Regex Tools .

  • تي Regex اوزار پين تي، ھيٺيون ڪريو:
    • منتخب ڪريو ماخذ اسٽرنگ.
    • پنهنجو نمونو داخل ڪريو.
    • چوو Match آپشن.
    • نتيجن کي فارمولن جي طور تي حاصل ڪرڻ لاءِ، قدر نه، چونڊيو Insert as a formula check box.
    • Match بٽڻ تي ڪلڪ ڪريو.

    ٿوري دير کان پوء، AblebitsRegexMatch فنڪشن توهان جي ڊيٽا جي ساڄي پاسي هڪ نئين ڪالمن ۾ داخل ڪيو ويو آهي.

    هيٺ ڏنل اسڪرين شاٽ ۾، فنڪشن چيڪ ڪري ٿو ته ڇا ڪالمن A ۾ تار 7-عددن تي مشتمل آهي. نمبر يا نه.

    صلاحون:

    • tion داخل ڪري سگھجي ٿو سڌي طرح سيل ۾ معياري Insert Function ڊائلاگ باڪس ذريعي، جتي ان کي AblebitsUDFs جي تحت درجه بندي ڪيو ويو آهي.
    • ڊفالٽ طور، فارمولا ۾ هڪ باقاعده اظهار شامل ڪيو ويندو آهي، پر توهان پڻ رکي سگهو ٿا هڪ الڳ سيل ۾. ان لاءِ، صرف 2nd دليل لاءِ سيل ريفرنس استعمال ڪريو.
    • ڊفالٽ طور، فنڪشن آهي ڪيس-حساس . صورت جي غير حساس ميلاپ لاءِ، (؟i) نموني استعمال ڪريو.

    وڌيڪ معلومات لاءِ، مھرباني ڪري ڏسو AblebitsRegexMatch فنڪشن.

    اھڙيءَ طرح Excel ۾ ريگيولر ايڪسپريشن ميچنگ ڪجي. مان پڙهڻ لاءِ توهان جي مهرباني ۽ توهان کي ايندڙ هفتي اسان جي بلاگ تي ڏسڻ جو منتظر آهيان!

    دستياب ڊائون لوڊ

    Excel Regex Match جا مثال (.xlsm فائل)

    Ultimate Suite 14- ڏينهن مڪمل طور تي ڪم ڪندڙ نسخو (.exe فائل)

    جيڪڏهن cntInputRows = input_range.Rows.Count cntInputCols = input_range.Columns.Count ReDim arRes (1 کان cntInputRows، 1 کان cntInputCols) لاءِ iInputCurRow = 1 لاءِ cntInputRows لاءِ iInputCurCol = 1 کان cntInputRows لاءِ iInputCurCol = 1 InputCurCols = 1 InputCurreg ۾. .Cells(iInputCurRow, iInputCurCol.Value) اڳيون اڳيون RegExpMatch = arRes Exit Function ErrHandl: RegExpMatch = CVErr(xlErrValue) End Function

    VBA ايڊيٽر ۾ ڪوڊ پيسٽ ڪريو، ۽ توھان جو نئون فنڪشن RegEx2> آھي استعمال لاء تيار. جيڪڏهن توهان VBA سان تمام گهڻو تجربو نه آهيو، هي گائيڊ مددگار ثابت ٿي سگهي ٿو: ايڪسل ۾ VBA ڪوڊ ڪيئن داخل ڪجي.

    نوٽ. ڪوڊ داخل ڪرڻ کان پوء، پنهنجي فائل کي ميڪرو-فعال ٿيل ورڪ بڪ (.xlsm) طور محفوظ ڪرڻ ياد رکو.

    RegExpMatch نحو

    The RegExpMatch فنڪشن چيڪ ڪري ٿو ته ڇا ماخذ اسٽرنگ جو ڪو به حصو باقاعده اظهار سان ملندو آهي. نتيجو هڪ بوليان قدر آهي: صحيح جيڪڏهن گهٽ ۾ گهٽ هڪ ميچ ملي ٿي، ٻي صورت ۾ غلط.

    اسان جي ڪسٽم فنڪشن ۾ 3 دليل آهن - پهرين ٻه گهربل آهن ۽ آخري هڪ اختياري آهي:

    RegExpMatch(text , pattern, [match_case])

    ڪٿي:

    • ٽيڪسٽ (گهربل) - ڳولڻ لاءِ هڪ يا وڌيڪ اسٽرنگ. سيل يا رينج ريفرنس طور فراهم ڪري سگھجي ٿو.
    • Pattern (گهربل) - ملائڻ لاءِ باقاعده اظهار. جڏهن سڌو سنئون فارمولا ۾ رکيل هجي، هڪ نمونو ٻٽي حوالن ۾ بند ڪيو وڃي.
    • Match_case (اختياري) - ميچ کي بيان ڪري ٿوقسم. جيڪڏهن صحيح يا ختم ٿيل (ڊفالٽ)، ڪيس-حساس ميلاپ ڪيو ويندو آهي؛ if FALSE - case-insensitive.

    فنڪشن Excel 365، Excel 2021، Excel 2019، Excel 2016، Excel 2013 ۽ Excel 2010 جي سڀني ورزن ۾ ڪم ڪري ٿو.

    3 شيون توهان RegExpMatch جي باري ۾ ڄاڻڻ گهرجي

    ان کان اڳ جو اسان عملي حساب ۾ وڃون، مھرباني ڪري ھيٺين نقطن تي ڌيان ڏيو جيڪي ڪجھ ٽيڪنيڪلات کي واضح ڪن ٿا:

    1. فنڪشن ھڪ سنگل سيل<9 تي عمل ڪري سگھي ٿو> يا سيلز جي حد . پوئين صورت ۾، نتيجا پاڙيسري سيلن ۾ هڪ متحرڪ صف جي صورت ۾ موٽايا ويندا آهن، يا اسپل رينج، جيئن هن مثال ۾ ڏيکاريل آهي.
    2. ڊفالٽ طور، فنڪشن آهي ڪيس-حساس . ٽيڪسٽ ڪيس کي نظر انداز ڪرڻ لاءِ، match_case دليل کي FALSE سيٽ ڪريو. VBA Regexp جي حدن جي ڪري، ڪيس جي غير حساس نموني (؟i) سپورٽ نه ڪئي وئي آهي.
    3. جيڪڏهن ڪو صحيح نمونو نه مليو، فنڪشن واپسي FALSE؛ جيڪڏهن نمون غلط آهي ، هڪ #VALUE! غلطي ٿيندي آهي.

    هيٺ، توهان کي ڪجهه ريجڪس ميچ جا مثال ملندا جيڪي نمائش جي مقصدن لاءِ ٺاهيا ويا هئا. اسان ضمانت نه ٿا ڏئي سگهون ته اسان جا نمونا توهان جي حقيقي ورڪ شيٽ ۾ ان پٽ ڊيٽا جي وسيع رينج سان بي عيب ڪم ڪندا. پيداوار ۾ آڻڻ کان پهريان، پڪ ڪريو ته اسان جي نمونن جي نمونن کي توهان جي ضرورتن مطابق جانچيو ۽ ترتيب ڏيو.

    Excel ۾ اسٽرنگ کي ملائڻ لاءِ ريجڪس ڪيئن استعمال ڪجي

    جڏهن سڀئي اسٽرنگ جيڪي توهان کي ملائڻ چاهيو ٿا. ساڳي نموني،باقاعده اظهار هڪ مثالي حل آهي.

    فرض ڪريو ته توهان وٽ سيلز جي هڪ حد آهي (A5:A9) جنهن ۾ ڪجهه شيون بابت مختلف تفصيل شامل آهن. توھان ڄاڻڻ چاھيو ٿا ڪھڙي سيلز ۾ SKUs آھن. فرض ڪيو ته هر SKU 2 وڏن اکرن تي مشتمل آهي، هڪ هائيفن، ۽ 3 انگن اکرن تي مشتمل آهي، توهان هيٺ ڏنل اظهار کي استعمال ڪندي انهن کي ملائي سگهو ٿا.

    Pattern : \b[A-Z]{2}-\ d{3}\b

    جتي [A-Z]{2} جو مطلب آهي A کان Z تائين ڪو به 2 وڏا اکر ۽ \d{3} جو مطلب آهي 0 کان 9 تائين ڪو به 3 عدد. \b اکر هڪ لفظ کي ظاهر ڪري ٿو بائونڊري، معنيٰ SKU هڪ الڳ لفظ آهي، ۽ ڪنهن وڏي اسٽرنگ جو حصو نه آهي جهڙوڪ 23-MAR-2022.

    جي نموني قائم ٿيڻ سان، اسان فارمولا لکڻ تي اڳتي وڌي سگهون ٿا. لازمي طور تي، هڪ ڪسٽم فنڪشن استعمال ڪرڻ هڪ مقامي کان مختلف ناهي. جيئن ئي توهان هڪ فارمولا ٽائيپ ڪرڻ شروع ڪندا، فنڪشن جو نالو ظاهر ٿيندو فهرست ۾ جيڪو تجويز ڪيل آهي Excel جي AutoComplete طرفان. تنهن هوندي به، Dynamic Array Excel (Microsoft 365 ۽ Excel 2021) ۽ روايتي Excel (2019 ۽ پراڻا ورزن) ۾ ڪجهه nuances آهن.

    ملايو اسٽرنگ هڪ سيل ۾

    اسٽرنگ کي ملائڻ لاءِ ھڪڙي سيل ۾، پھرئين دليل ۾ ان سيل ڏانھن رجوع ڪريو. ٻيو دليل لازمي طور تي هڪ باقاعده اظهار تي مشتمل هوندو.

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

    پيٽرن کي اڳواٽ بيان ڪيل سيل ۾ پڻ رکي سگهجي ٿو، جيڪو مڪمل حوالي سان بند ٿيل آهي ($A$2):

    =RegExpMatch(A5, $A$2)

    پھرين سيل ۾ فارمولا داخل ڪرڻ کان پوء، توھان ان کي ھيٺ ڪري سگھو ٿا ٻين سڀني قطارن ڏانھن.

    ھي طريقو سڀني ايڪسل ورزن ۾ خوبصورتي سان ڪم ڪري ٿو.

    16>

    ملائي اسٽرنگ کي هڪ ئي وقت ڪيترن ئي سيلن ۾

    گهڻن اسٽرنگ کي هڪ فارمولا سان ملائڻ لاءِ، پهرين دليل ۾ رينج ريفرنس شامل ڪريو:

    =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 اکر ريجڪس ۾. توھان جي خاص ڪم تي مدار رکندي، ھڪڙو مناسب مقدار ٺاھيو يا ھڪڙو وڌيڪ پيچيده نمونو ٺاھيو.

    ڪنهن به نمبر سان ملائڻ لاءِ ريجڪس

    ڪنهن به ڊگھي نمبر کي ملائڻ لاءِ، + مقدار کي درست ڪريو / کان پوءِ. d اکر، جيڪو چوي ٿو 1 يا وڌيڪ عددن تي مشتمل انگن کي ڳولڻ لاءِ.

    Pattern : \d+

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

    مخصوص ڊگھائي جي تعداد سان ملائڻ لاءِ ريجڪس

    جيڪڏهن توهان جو مقصد عددي قدرن کي ملائڻ آهي جنهن ۾ عددن جي هڪ خاص تعداد تي مشتمل هجي، ته پوءِ استعمال ڪريو \d گڏ ڪري هڪ مناسب مقدار سان.

    مثال طور، بلڪل 7 عددن تي مشتمل انوائس نمبرن کي ملائڻ لاءِ، توھان استعمال ڪندا \d{7}. بهرحال، مهرباني ڪري ذهن ۾ رکو ته اهو ملندو 7جيئن توقع ڪئي وئي:

    نوٽس:

    4> 12 باقاعده اظهار ۾، \s ڪنهن به وائيٽ اسپيس ڪردار لاءِ بيٺل آهي جهڙوڪ اسپيس، ٽيب، گاڏي جي واپسي، يا نئين لائين. صرف اسپيس کي اجازت ڏيڻ لاء، استعمال ڪريو [-\. ] بدران [-\.\s].

    Regex to NOT match character

    اسٽرنگ ڳولڻ لاءِ جن ۾ ڪو خاص اکر شامل نه هجي، توهان استعمال ڪري سگهو ٿا ناڪاري ڪردار جا طبقا [^ ] جيڪي ملن ٿا ڪجھ به نه بریکٹ ۾. مثال طور:

    • [^13] ڪنهن به هڪ اکر سان ملندو جيڪو 1 يا 3 ناهي.
    • [^1-3] ڪنهن به هڪ اکر سان ملندو جيڪو 1 نه هوندو، 2 يا 3 (يعني 1 کان 3 تائين ڪو به عدد).

    فون نمبرن جي لسٽ ۾، فرض ڪريو ته توھان انھن کي ڳولڻ چاھيو ٿا جن وٽ ملڪ جو ڪوڊ نه آھي. ذهن ۾ رکو ته ڪنهن به بين الاقوامي ڪوڊ ۾ + نشاني شامل آهي، توهان استعمال ڪري سگهو ٿا [^\+] اکر ڪلاس کي ڳولڻ لاءِ جيڪي پلس جي نشاني تي مشتمل نه هجن. اهو سمجهڻ ضروري آهي ته مٿي ڏنل اظهار ڪنهن هڪ اکر سان ملندو آهي جيڪو + ناهي. ڇاڪاڻ ته هڪ فون نمبر هڪ تار ۾ ڪٿي به ٿي سگهي ٿو، ضروري ناهي ته بلڪل شروعات ۾، * مقدار کي شامل ڪيو ويو آهي هر ايندڙ ڪردار کي چيڪ ڪرڻ لاء. شروعاتي ^ ۽ آخر $ اينڪرز کي يقيني بڻائي ٿو ته سڄي اسٽرنگ تي عمل ڪيو ويو آهي. نتيجي طور، اسان ھيٺ ڏنل باقاعده اظهار حاصل ڪندا آھيون جيڪو چوي ٿو "ڊانٽ مئچ + اکر کي اسٽرنگ ۾ ڪنھن به پوزيشن ۾."

    Pattern :^[^\+]*$

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

    Regex to NOT match string

    جيتوڻيڪ ان لاءِ ڪو خاص ريگولر ايڪسپريشن نحو موجود ناهي ڪنهن خاص اسٽرنگ سان نه ملندڙ، توهان هن رويي کي ناڪاري ڏسندي استعمال ڪندي نقل ڪري سگهو ٿا.

    فرض ڪريو ته توهان strings ڳولڻ چاهيو ٿا جن ۾ لفظ "lemons" شامل نه هجي . هي باقاعده اظهار هڪ علاج جو ڪم ڪندو:

    Pattern : ^((?!lemons).)*$

    ظاهر آهي، هتي ڪجهه وضاحت جي ضرورت آهي. ناڪاري ڏسندڙ اڳيان (؟! ليمون) ساڄي طرف ڏسجي ٿو ته ڇا اڳتي ڪو لفظ ”ليمون“ ناهي. جيڪڏهن ”ليمون“ نه هجي ته پوءِ اهو نقطو ڪنهن به ڪردار سان ملندو آهي سواءِ لڪير جي وقفي جي. مٿي ڏنل اظهار صرف هڪ چيڪ ڪري ٿو، ۽ * quantifier ان کي صفر يا وڌيڪ ڀيرا ورجائي ٿو، ^ پاران لنگرندڙ اسٽرنگ جي شروعات کان وٺي $ لنگرندڙ اسٽرنگ جي آخر تائين.

    ٽيڪسٽ ڪيس کي نظر انداز ڪرڻ لاءِ، اسان پنهنجي فنڪشن کي غير حساس بڻائڻ لاءِ 3هين دليل کي FALSE تي سيٽ ڪيو:

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

    تجويزون ۽ نوٽس:

    • مٿي ڏنل ريجڪس صرف سنگل-لائن تارن لاءِ ڪم ڪري ٿو. milti-line strings جي صورت ۾، ^ ۽ $ اکر ان پٽ اسٽرنگ جي شروعات ۽ پڇاڙيءَ بدران هر لڪير جي شروعات ۽ پڇاڙيءَ سان ملن ٿا، تنهن ڪري ريجڪس صرف پهرين لڪير ۾ ڳولهي ٿو.
    • اسٽرنگ کي ملائڻ لاءِ جيڪي شروع نه ڪن ڪجهه متن سان ، استعمال ڪريو باقاعده اظهار جهڙوڪ ^(?!lemons).*$
    • تارن کي ملائڻ لاءِ جيڪي ختم نه ٿين مخصوص متن سان ، شامل ڪريوآخري اسٽرنگ لنگر ڳولها جي نموني ۾: ^((?!lemons$).)*$

    Case insensitive matching

    classic regular expressions ۾، اتي لاءِ خاص نمونو هوندو آهي. ڪيس غير حساس ملندڙ (؟i)، جيڪو VBA RegExp ۾ سهڪار نه ڪيو ويو آهي. هن حد کي ختم ڪرڻ لاء، اسان جو ڪسٽم فنڪشن 3rd اختياري دليل کي قبول ڪري ٿو نالو match_case . ڪيس غير حساس ملائڻ لاءِ، بس ان کي FALSE تي سيٽ ڪريو.

    چون ٿا ته توھان تاريخن جي سڃاڻپ ڪرڻ چاھيو ٿا جھڙوڪ 1-Mar-22 يا 01-MAR-2022. dd-mmm-yyyy ۽ d-mmm-yy فارميٽ سان ملائڻ لاءِ، اسان هيٺ ڏنل ريگولر ايڪسپريشن استعمال ڪري رهيا آهيون.

    Pattern : \b\d{1,2}-(جنوري10-عددي يا 100-عددي نمبر سميت اسٽرنگ ۾ ڪٿي به انگ اکر. جيڪڏھن اھو اھو نه آھي جيڪو توھان ڳولي رھيا آھيو، لفظ بائونڊري \b کي ٻنھي پاسن تي رکو.

    Pattern : \b\d{7}\b

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

    فون نمبرن کي ملائڻ لاءِ ريجڪس

    جيئن ته فون نمبر مختلف فارميٽ ۾ لکي سگهجن ٿا، ان ڪري انهن کي ملائڻ لاءِ وڌيڪ نفيس ريگيولر ايڪسپريشن جي ضرورت آهي.

    <0 هيٺ ڏنل ڊيٽا سيٽ ۾، اسان 10 عددي انگن جي ڳولا ڪنداسين جن ۾ پهرين 2 گروپن ۾ 3 عدد ۽ آخري گروپ ۾ 4 عدد آهن. گروپن کي دور، هائيفن يا خلا سان الڳ ڪري سگھجي ٿو. پهريون گروپ قوس ۾ بند ٿي سگھي ٿو يا نه ٿي سگھي.

    مائيڪل براون هڪ سرشار ٽيڪنالاجي جوش آهي جيڪو سافٽ ويئر اوزار استعمال ڪندي پيچيده عملن کي آسان ڪرڻ جي جذبي سان. ٽيڪنيڪي صنعت ۾ ڏهاڪن کان وڌيڪ تجربي سان، هن پنهنجي صلاحيتن کي Microsoft Excel ۽ Outlook، گڏوگڏ Google Sheets ۽ Docs ۾ ساراهيو آهي. مائيڪل جو بلاگ وقف ڪيو ويو آهي پنهنجي علم ۽ مهارت کي ٻين سان شيئر ڪرڻ لاءِ، پيداوار ۽ ڪارڪردگي کي بهتر ڪرڻ لاءِ آسان پيروي ڪرڻ واريون صلاحون ۽ سبق مهيا ڪرڻ لاءِ. چاهي توهان هڪ تجربيڪار پيشه ور آهيو يا شروعاتي، مائيڪل جو بلاگ انهن ضروري سافٽ ويئر اوزارن مان وڌ کان وڌ فائدو حاصل ڪرڻ لاءِ قيمتي بصيرتون ۽ عملي صلاحون پيش ڪري ٿو.