په Excel کې د تارونو استخراج لپاره Regex (یو یا ټول میچونه)

  • دا شریک کړه
Michael Brown

په دې ټیوټوریل کې، تاسو به زده کړئ چې څنګه په Excel کې منظم بیانونه وکاروئ ترڅو د ورکړل شوي نمونې سره سمون لرونکي فرعي سټینګونه ومومئ او استخراج کړئ.

د مایکروسافټ ایکسل د متن استخراج لپاره یو شمیر دندې وړاندې کوي. له حجرو څخه دا دندې کولی شي ستاسو په کاري پاڼو کې د ډیری تار استخراج ننګونو سره مقابله وکړي. ډیری، مګر ټول نه. کله چې د متن فعالیتونه ودریږي، منظم څرګندونې د ژغورنې لپاره راځي. انتظار وکړئ ... ایکسل د RegEx فعالیت نلري! ریښتیا، هیڅ جوړ شوي فعالیتونه ندي. مګر هیڅ شی شتون نلري چې تاسو د خپل کارولو مخه ونیسي :)

    د ایکسسل VBA ریجیکس فنکشن د تارونو ایستلو لپاره

    ستاسو اکسل کې د دودیز ریجیکس استخراج فنکشن اضافه کولو لپاره ، لاندې کوډ د VBA مدیر کې پیسټ کړئ. په VBA کې د منظم بیانونو د فعالولو لپاره، موږ د مایکروسافټ RegExp څیز څخه کار اخلو.

    د عامه فعالیت RegExpExtract (متن د سټینګ په توګه، د سټرینګ په توګه متن، اختیاري مثال_نوم د انټیجر = 0 په توګه، اختیاري میچ_کیس د بولین = ریښتیا په توګه) کم text_matches() As String Dim matches_index As Integer On Error GoTo ErrHandl RegExpExtract = "" regex = CreateObject ( "VBScript. RegExp" ) regex.pattern = pattern regex.Global = ریښتیني regex.MultiLine = True_Line = True_Line = بیا میچ. ignorecase = غلط بل regex.ignorecase = ریښتیني پای که سمون ولري = regex.Execute(متن) که 0 < matches.Count بیا که (0 = instance_num) نو بیا د متن_میچونو سره ریډیم کړئ(maches.Count - 1, 0) د میچ_index = 0 لپارهد VBA RegExp، زه تاسو هڅوم چې راتلونکې برخه ولولئ چې د خورا پیاوړي .NET Regex افعال په اړه بحث کوي.

    د .NET پر بنسټ د Regex فنکشن په Excel کې د متن استخراج لپاره

    د VBA RegExp افعال برعکس چې د هر ایکسل کارونکي لخوا لیکل کیدی شي، .NET RegEx د پراختیا کونکي ساحه ده. د مایکروسافټ .NET چوکاټ د پرل 5 سره مطابقت لرونکی د بشپړ ځانګړتیا لرونکي منظم بیان ترکیب ملاتړ کوي. دا مقاله به تاسو ته دا نه درښيي چې څنګه دا ډول افعال ولیکئ (زه یو پروګرامر نه یم او د دې کولو څرنګوالي په اړه لږ څه نظر نلرم :)

    د معیاري .NET RegEx انجن لخوا پروسس شوي څلور پیاوړې دندې لا دمخه زموږ د پراختیا کونکو لخوا لیکل شوي او په الټیمیټ سوټ کې شامل دي. لاندې، موږ به د فنکشن ځینې عملي کارونې وښیو چې په ځانګړي ډول په Excel کې د متن استخراج لپاره ډیزاین شوي.

    لارښوونه. د .NET Regex نحو په اړه د معلوماتو لپاره مهرباني وکړئ .NET Regular Expression Language ته مراجعه وکړئ.

    د منظم بیانونو په کارولو سره په Excel کې سټینګونه څنګه استخراج کړئ

    فرض کړئ چې تاسو د الټیمیټ سویټ وروستۍ نسخه نصب کړې ده ، د منظم بیانونو په کارولو سره متن استخراج دې دوه مرحلو ته راښکته کیږي:

    1. په Ablebits Data ټب کې، په Text ګروپ کې، Regex Tools کلیک وکړئ.
    2. په Regex Tools پین کې، د سرچینې ډاټا وټاکئ، خپل Regex نمونه دننه کړئ، او د استخراج اختیار غوره کړئ. د دې لپاره چې پایله د دودیز فعالیت په توګه ترلاسه کړئ، نه د ارزښت په توګه، غوره کړئ د فورمول په توګه داخل کړئ چکبکس کله چې ترسره شي، د استخراج تڼۍ کلیک وکړئ.

    پایلې به ستاسو د اصلي معلوماتو ښي خوا ته په نوي کالم کې ښکاره شي:

    AblebitsRegexExtract syntax

    زموږ دودیز فعالیت لاندې ترکیب لري:

    AblebitsRegexExtract(reference, regular_expression)

    چرته:

    • حواله (اړین) - هغه حجرې ته حواله چې سرچینه تار لري.
    • Regular_expression (ضروري) - د سمون لپاره د ریجیکس نمونه.

    مهم یادښت! فنکشن یوازې په ماشینونو کې کار کوي چې د Excel لپاره الټیمیټ سویټ نصب شوی.

    استعمال یادداشتونه

    د دې لپاره چې ستاسو د زده کړې منحل اسانه او ستاسو تجربه نوره خوندوره کړي، مهرباني وکړئ دې ټکو ته پام وکړئ:

    1. د فورمول جوړولو لپاره، تاسو کولی شئ زموږ Regex اوزار ، یا د Excel Insert function ډیالوګ وکاروئ، یا په حجره کې د بشپړ فنکشن نوم ټایپ کړئ. یوځل چې فورمول داخل شي، تاسو کولی شئ دا د هر اصلي فارمول په څیر اداره کړئ (ایډیټ، کاپي یا حرکت وکړئ).
    2. هغه نمونه چې تاسو یې په Regex Tools پین کې داخل کړئ دوهم دلیل ته ځي. دا هم امکان لري چې په جلا حجره کې منظم بیان وساتئ. په دې حالت کې، یوازې د دویم دلیل لپاره د حجرې حواله وکاروئ.
    3. فنکشن د لومړی موندل شوی میچ استخراج کوي. حساس د قضیې غیر حساس میچ کولو لپاره، د (؟i) بڼه وکاروئ.
    4. که یو میچ ونه موندل شي، نو #N/A تېروتنه دهبیرته راستانه شوی.

    ریجیکس د دوو حروفونو تر مینځ تار استخراج کولو لپاره

    د دوو حروفونو تر مینځ متن ترلاسه کولو لپاره، تاسو کولی شئ د کیپچر ګروپ یا شاوخوا شاوخوا وکاروئ.

    راځئ ووایه چې تاسو د بریکٹونو ترمینځ متن استخراج په لټه کې یاست. یوه ډله نیول تر ټولو اسانه لار ده.

    پطرس 1 : \[(.*?)\]

    د مثبت لید او شاته کتلو سره، پایله به سمه وي ورته.

    پټون 2 : (?<=\[)(.*?)(?=\])

    مهرباني وکړئ پاملرنه وکړئ چې زموږ د نیولو ګروپ (.*؟) د دوه بریکٹونو تر منځ د متن لپاره سست لټون ترسره کوي - له لومړي [ تر لومړي] پورې. د نيولو ډله پرته له پوښتنې نښه ( ) به د لالچ لټون وکړي او هر څه له لومړي [ تر وروستي ] ونيسي.

    په A2 کې د نمونې سره، فورمول داسې ځي لاندې:

    =AblebitsRegexExtract(A5, $A$2)

    ټول میچونه څنګه ترلاسه کول

    لکه څنګه چې مخکې یادونه وشوه، د AblebitsRegexExtract فنکشن کولی شي یوازې یوه لوبه استخراج کړي. د ټولو میچونو ترلاسه کولو لپاره ، تاسو کولی شئ د VBA فنکشن وکاروئ چې موږ دمخه بحث کړی. په هرصورت، دلته یو احتیاط شتون لري - VBA RegExp د نیولو ډلو ملاتړ نه کوي، نو پورته نمونه به د "حد" حروف هم بیرته راولي، زموږ په قضیه کې بریکٹونه.

    =TEXTJOIN(" ", TRUE, RegExpExtract(A5, $A$2))

    د خلاصون لپاره د قوسونو څخه، د دې فورمول په کارولو سره د خالي تارونو ("") سره ځای په ځای کړئ:

    =SUBSTITUTE(SUBSTITUTE(TEXTJOIN(", ", TRUE, RegExpExtract(A5, $A$2)), "]", ""),"[","")

    د ښه لوستلو لپاره، موږ د محدودیت لپاره کوما کاروو.

    ریجیکس د دوه تارونو ترمینځ متن استخراج لپاره

    هغه طریقه چې موږ کار کړی دیدا په لفظي توګه تشریح کړئ).

  • (؟:[A-Za-z\d\-\.]{2,255}\.)؟ - د دریمې درجې، څلورمې درجې، او داسې نورو ډومینونو پیژندلو لپاره غیر نیول ګروپ، که کوم وي ( موبایل زموږ په نمونه URL کې). په لومړي نمونه کې، دا د لوی نیولو ګروپ کې ځای پر ځای شوی ترڅو ټول داسې فرعي ډومینونه په استخراج کې شامل کړي. یو فرعي ډومین له 2 څخه تر 255 حروف پورې اوږد کیدی شي، نو له همدې امله {2,255} اندازه کوونکی.
  • ([A-Za-z\d\-]{1,63}\.[A-Za-z] {2,24}) - د دویمې درجې ډومین ( ablebits ) او د لوړې کچې ډومین ( com ) استخراج لپاره ډله نیول. د دویمې درجې ډومین اعظمي اوږدوالی 63 حروف دی. تر ټولو اوږد لوړ پوړ ډومین چې اوس مهال شتون لري 24 حروف لري.
  • Regex د ټولو فرعي ډومینونو سره د بشپړ ډومین نوم استخراج کولو لپاره:

    د فرعي ډومینونو پرته د دوهم درجې ډومین استخراج لپاره Regex:

    دا د منظم بیانونو په کارولو سره په Excel کې د متن برخې استخراج کولو څرنګوالی دی. زه د لوستلو لپاره مننه کوم او په راتلونکې اونۍ کې زموږ په بلاګ کې تاسو سره لیدو ته سترګې په لار یم!

    د موجود ډاونلوډونه

    د ایکسل ریجیکس استخراج مثالونه (.xlsm فایل)

    د الټیمیټ سویټ آزموینې نسخه (.exe فایل)

    \b(0؟[0-9]matches.Count - 1 text_maches(matches_index, 0) = matches.Item(matches_index) بل matches_index RegExpExtract = text_maches نور RegExpExtract = matches.Item(instance_num - 1) پای که پای وي که د وتلو فنکشن: RegExl End Exit Function:VrrxlEndEfction:VrrxEndEx

    که تاسو د VBA سره لږ تجربه لرئ، یو ګام په ګام کاروونکي لارښود ممکن ګټور ثابت شي: څنګه په Excel کې د VBA کوډ داخل کړئ.

    یادونه. د دې لپاره چې فنکشن کار وکړي، ډاډ ترلاسه کړئ چې خپل فایل د میکرو فعال شوي کاري کتاب په توګه خوندي کړئ (.xlsm).

    RegExpExtract نحو

    RegExpExtract فنکشن د ارزښتونو لپاره د ان پټ سټرینګ لټون کوي ​​کوم چې د منظم بیان سره سمون لري او یو یا ټول میچونه استخراجوي.

    فنکشن لاندې ترکیب لري :

    RegExpExtract(متن، نمونه، [instance_num]، [match_case])

    چیرته:

    • متن (اړین) - د لټون کولو لپاره د متن تار.
    • بطره (اړین) - د سمون لپاره منظم بیان. کله چې په مستقیم ډول په فورمول کې عرضه شي، نمونه باید د دوه ګوني نرخ نښانونو سره تړل شي.
    • Instance_num (اختیاري) - یو سریال نمبر چې دا په ګوته کوي چې کوم مثال باید استخراج شي. که پریښودل شي، ټول موندل شوي میچونه (ډیفالټ) بیرته راګرځوي.
    • Match_case (اختیاري) - دا تعریفوي چې ایا د متن قضیه سره سمون لري یا له پامه غورځول کیږي. که ریښتیا وي یا پریښودل شي (ډیفالټ)، د قضیې حساس سمون ترسره کیږي؛ که غلط وي - قضیه غیر حساس.

    فنکشن د Excel 365، Excel 2021، Excel په ټولو نسخو کې کار کوي2019، Excel 2016، Excel 2013 او Excel 2010.

    4 شیان چې تاسو باید د RegExpExtract په اړه پوه شئ

    ستاسو په Excel کې د فعالیت په مؤثره توګه کارولو لپاره، یو څو مهم شیان شتون لري چې باید په پام کې ونیول شي:

    1. په ډیفالټ ډول، فنکشن ټول موندل شوي میچونه ګاونډیو حجرو ته بیرته راګرځوي لکه په دې مثال کې ښودل شوي. د یوې ځانګړې پیښې د ترلاسه کولو لپاره، د instance_num دلیل ته یو اړونده شمیره ورکړئ.
    2. د ډیفالټ په توګه، فنکشن کیس حساس دی. د قضیې غیر حساس میچ کولو لپاره، match_case دلیل FALSE ته وټاکئ. د VBA محدودیتونو له امله، د قضیې غیر حساس جوړښت (؟i) به کار ونکړي.
    3. که یو درست نمونه ونه موندل شي ، فنکشن هیڅ شی نه راګرځوي (خالي تار).
    4. که بطره ناسمه وي ، یو #VALUE! تېروتنه رامنځته کیږي.

    مخکې له دې چې تاسو په خپلو کاري پاڼو کې د دې دودیز فنکشن کارول پیل کړئ، تاسو اړتیا لرئ پوه شئ چې دا د څه وړتیا لري، سمه ده؟ لاندې مثالونه یو څو عام استعمال قضیې پوښي او تشریح کوي چې ولې چلند ممکن په ډینامیک ایری ایکسل (Microsoft 365 او Excel 2021) او دودیز Excel (2019 او زړو نسخو) کې توپیر ولري.

    یادونه. د ریجیکس مثالونه د ساده ډیټا سیټونو لپاره لیکل شوي. موږ نشو تضمین کولی چې دوی به ستاسو په ریښتیني کاري پاڼو کې بې عیب کار وکړي. هغه څوک چې د ریجیکس سره تجربه لري به موافق وي چې د منظم بیان لیکل د بشپړتیا لپاره نه ختمیدونکي سړک دی - نږدې تل د جوړولو لپاره لاره شتون لريدا ډیر ښکلی یا د ان پټ ډیټا پراخه لړۍ اداره کولو وړتیا لري.

    ریجیکس د تار څخه شمیره استخراج لپاره

    د "ساده څخه پیچلي ته" د تدریس لومړني اعظمي تعقیب سره ، موږ به په خورا ساده قضیه سره پیل وکړو: له تار څخه شمیره استخراج.

    د ستاسو لپاره لومړی شی دا دی چې پریکړه وکړئ کوم شمیره بیرته ترلاسه کړئ: لومړی، وروستی، ځانګړي پیښې یا ټولې شمیرې.

    لومړی شمیره استخراج کړئ

    دا دومره ساده ده څومره چې ریجیکس ترلاسه کولی شي. د دې په پام کې نیولو سره چې \d د 0 څخه تر 9 پورې کومې عددي معنی لري، او + معنی یو یا څو ځله، زموږ منظم بیان دا بڼه اخلي:

    1> نمونه : \d+

    سیټ instance_num to 1 او تاسو به مطلوب پایله ترلاسه کړئ:

    =RegExpExtract(A5, "\d+", 1)

    چیرې چې A5 اصلي تار دی.

    د اسانتیا لپاره، تاسو کولی شئ داخل کړئ نمونه په مخکینۍ ټاکل شوې حجره کې ($A$2) او پته یې د $ نښه سره لاک کړئ:

    =RegExpExtract(A5, $A$2, 1)

    وروستی شمیره ترلاسه کړئ

    په تار کې وروستۍ شمیره ایستل دلته د کارولو لپاره نمونه ده:

    پټرن : (\d+)(؟!.*\d)

    انساني ژبې ته ژباړل شوی ، دا وايي: یوه شمیره ومومئ چې د کوم بل شمیر لخوا نه تعقیب کیږي (هرچیرې ، نه یوازې سمدستي). د دې څرګندولو لپاره، موږ یو منفي لید (؟!.*\d) کاروو، دا پدې مانا ده چې د نمونې ښي خوا ته باید بل عدد (\d) نه وي پرته له دې چې څومره نور حروف مخکې وي.

    =RegExpExtract(A5, "(\d+)(?!.*\d)")

    لارښوونې:

    • د ځانګړي پیښې ترلاسه کولو لپاره، د بطور او یو مناسب سریال لپاره \d+ وکاروئد instance_num لپاره شمیره.
    • د ټولو شمیرو استخراج کولو فورمول په راتلونکې مثال کې بحث کیږي.

    د ټولو میچونو ایستلو لپاره Regex

    زموږ مثال یو څه نور هم فشار راوړو، فرض کړئ چې تاسو غواړئ ټولې شمیرې له یو تار څخه ترلاسه کړئ، نه یوازې یو.

    لکه څنګه چې تاسو په یاد ولرئ، د استخراج شوي میچونو شمیر د اختیاري <1 لخوا کنټرول کیږي> instance_num دلیل. ډیفالټ ټول میچونه دي ، نو تاسو په ساده ډول دا پیرامیټر پریږدئ:

    =RegExpExtract(A2, "\d+")

    فارمول د یوې حجرې لپاره په ښه توګه کار کوي ، مګر چلند په ډینامیک ایری ایکسل او غیر متحرک نسخو کې توپیر لري.

    ایکسل 365 او ایکسل 2021

    د متحرک صفونو د ملاتړ له امله، یو منظم فورمول په اتوماتيک ډول د ټولو محاسبه شویو پایلو ښودلو لپاره د اړتیا په اندازه حجرو ته خپریږي. د ایکسل په شرایطو کې ، دې ته ویل شوي رینج ویل کیږي:

    ایکسل 2019 او ټیټ

    په پری متحرک ایکسل کې ، پورته فورمول به یوازې یوه لوبه بیرته راولي. د ډیری میچونو ترلاسه کولو لپاره، تاسو اړتیا لرئ چې دا د صف فورمول جوړ کړئ. د دې لپاره، د حجرو لړۍ وټاکئ، فورمول ټایپ کړئ، او د بشپړولو لپاره Ctrl + Shift + Enter فشار ورکړئ.

    د دې طریقې یو ټیټ اړخ د #N/A غلطیو یوه ډله ده چې په "اضافي حجرو" کې ښکاري. . په خواشینۍ سره، د دې په اړه هیڅ شی نشي ترسره کیدی (نه IFERROR او نه IFNA کولی شي دا حل کړي، افسوس).

    ټول میچونه په یوه حجره کې استخراج کړئ

    کله چې د ډیټا کالم پروسس کول، پورتنۍ طریقه به په ښکاره ډول کار ونکړي. په دې حالت کې، یو مثالی حل دیټولې لوبې به په یوه حجره کې بیرته راستانه شي. د دې د ترسره کولو لپاره، د RegExpExtract پایلې د TEXTJOIN فنکشن ته وړاندې کړئ او د هر هغه محدودیت سره یې جلا کړئ چې تاسو یې غواړئ، کوما او ځای ووایاست:

    =TEXTJOIN(", ", TRUE, RegExpExtract(A5, "\d+"))

    نوټ. ځکه چې د TEXTJOIN فنکشن یوازې د مایکروسافټ 365 ، ایکسل 2021 او ایکسل 2019 لپاره په Excel کې شتون لري ، نو فارمول به په زړو نسخو کې کار ونکړي.

    له تار څخه متن استخراج لپاره Regex

    د متن استخراج د الفانومیریک تار په Excel کې خورا ستونزمن کار دی. د ریجیکس سره، دا د پائی په څیر اسانه کیږي. یوازې د منفي ټولګي څخه کار واخلئ ترڅو د هر هغه څه سره سمون ومومي کوم چې عدد نه وي.

    پټرن : [^\d]+

    په انفرادي حجرو کې د فرعي سټینګونو ترلاسه کولو لپاره (د سپیل حد) ، فورمول یې دا دی:

    =RegExpExtract(A5, "[^\d]+")

    ټول میچونه په یوه حجره کې تولیدولو لپاره ، په TEXTJOIN کې د RegExpExtract فنکشن په دې ډول وصل کړئ:

    =TEXTJOIN("", TRUE, RegExpExtract(A5, "[^\d]+"))

    ته Regex له تار څخه د بریښنالیک پته استخراج کړئ

    د بریښنالیک پته د ډیری مختلف معلوماتو لرونکي تار څخه د بریښنالیک آدرس ایستلو لپاره ، یو منظم بیان ولیکئ چې د بریښنالیک پتې جوړښت تکرار کړي>: [\w\.\-]+@[A-Za-z0-9\.\-]+\.[A-Za-z]{2,24}

    د دې ریجیکس ماتول , دلته هغه څه دي چې موږ یې ترلاسه کوو:

    • [\w\.\-]+ یو کارن نوم دی چې ممکن 1 یا ډیر الفانومریک حروف، انډر سکورونه، نقطې او هایفینونه پکې شامل وي.
    • @ سمبول
    • [A-Za-z0-9\.\-]+ د ډومین نوم دی چې پکې شامل دي: لوی او کوچني توري، عددونه، هایفین او نقطې (په صورت کېد فرعي ډومینونو څخه). دلته انډر سکور ته اجازه نه ورکول کیږي، نو له دې امله د 3 مختلف کرکټرونو سیټونه (لکه A-Z a-z او 0-9) د \w پر ځای کارول کیږي چې د کوم لیک، عدد یا انډر سکور سره سمون لري.
    • \.[A-Za-z ]{2,24} د لوړې کچې ډومین دی. د یوې نقطې څخه جوړ دی چې د لوی او کوچني حروفونو سره تعقیب کیږي. د لوړې کچې ډیری ډومینونه 3-حروف اوږد دي (د مثال په توګه .com .org، .edu، او داسې نور)، مګر په تیوري کې کیدای شي له 2 څخه تر 24 تورو پورې وي (تر ټولو اوږد ثبت شوی TLD).

    فرض کړئ چې تار په A5 کې دی او نمونه په A2 کې، د بریښنالیک آدرس د استخراج فورمول دا دی:

    =RegExpExtract(A5, $A$2)

    Regex د بریښنالیک څخه ډومین ایستل

    کله چې دا د بریښنالیک ډومین استخراج ته راځي، لومړی فکر چې ذهن ته راځي د نیولو ګروپ کارول دي ترڅو متن ومومي کوم چې سمدلاسه د @ کرکټر تعقیبوي.

    بطره : @([A-Za-z0 -9\.\-]+\. تاسو به دا پایله ترلاسه کړئ:

    د کلاسیک منظم بیانونو سره، د نیولو ګروپ څخه بهر هرڅه په استخراج کې شامل ندي. هیڅوک نه پوهیږي چې ولې VBA RegEx په مختلف ډول کار کوي او "@" هم نیسي. د دې څخه د خلاصون لپاره، تاسو کولی شئ د پایلې څخه لومړی کرکټر د خالي تار سره په ځای کولو سره لرې کړئ.

    =REPLACE(RegExpExtract(A5, "@([a-z\d][a-z\d\-\.]*\.[a-z]{2,})", 1, FALSE), 1, 1, "")

    د تلیفون شمیرو ایستلو لپاره منظم بیان

    د تلیفون شمیرې په ډیری بیلابیلو لارو لیکل کیدی شي، له همدې امله دا ناممکنه ده چې د حل سره راشي چې د ټولو لاندې کار کوي(\d{4}د تار څخه

    د نیټې د استخراج لپاره منظم بیان په هغه شکل پورې اړه لري چې نیټه په تار کې څرګندیږي. د مثال په توګه:

    د 1/1/21 یا 01/01/2021 په څیر د نیټې استخراج لپاره، ریجیکس دا دی: \d{1,2}\/\d{1,2}\/(\d {4}حالات سره له دې، تاسو کولی شئ په خپل ډیټاسیټ کې کارول شوي ټول فارمیټونه ولیکئ او هڅه وکړئ چې د دوی سره سمون ومومي.

    د دې مثال لپاره، موږ به یو ریجیکس جوړ کړو چې په دې فارمیټونو کې به د تلیفون شمیرې راوباسي:

    (123) 345-6789

    (123) 345 6789

    (123)3456789

    123- 345-6789

    123.345.6789

    123 345 6789

    1233456789

    بطره : \(?\d{3}[-\. \)]*\d{3}[-\. ]?\d{4}\b

    • لومړی برخه \(?\d{3} د صفر یا یوه پرانیستې قوس سره سمون خوري او ورپسې درې عددونه d{3}.
    • د [-\. \)]* برخه په دې معنی ده چې په مربع قوسونو کې هر هغه کرکټر چې 0 یا ډیر ځله څرګندیږي: هایفن، موده، ځای یا بند قوس. هر هایفن، موده یا ځای [-\. ]؟ 0 یا 1 ځل ښکاره کیږي.
    • له هغې وروسته، د څلورو عددونو یوه ډله ده \d{4}.
    • په پای کې، د کلمې حد دی \b دا تعریفوي چې موږ د تلیفون شمیره یو په لټه کې کیدل د لوی شمیر برخه نشي کیدی.

    بشپړ فورمول دا شکل اخلي:

    =RegExpExtract(A5, "\(?\d{3}[-\. \)]*\d{3}[-\. ]?\d{4}\b")

    مهرباني وکړئ خبر اوسئ چې پورتنۍ ریجیکس ممکن یو څو بیرته راستانه شي ناسمې مثبتې پایلې لکه 123) 456 7899 یا (123 456 7899. لاندې نسخه دا مسلې حل کوي. په هرصورت، دا ترکیب یوازې د VBA RegExp فنکشنونو کې کار کوي، نه په کلاسیک منظم بیانونو کې.

    پټن : (\(\d{3}\)د دوو حروفونو تر منځ د متن د ایستلو لپاره out هم د دوو تورو تر منځ د متن استخراج لپاره کار کوي.

    د مثال په توګه، د "test 1" او "test 2" تر منځ هر څه ترلاسه کولو لپاره، لاندې منظم بیان وکاروئ.

    پټون : ازموینه 1(.*?)ټیسټ 2

    بشپړ فورمول دا دی:

    =AblebitsRegexExtract(A5, "test 1(.*?)test 2")

    ریجیکس د URL څخه د ډومین ایستلو لپاره

    حتی د منظم څرګندونو سره، د URLs څخه د ډومین نومونو استخراج یو کوچنی کار ندی. کلیدي عنصر چې دا چل ترسره کوي غیر نیول شوي ډلې دي. ستاسو د وروستي هدف پورې اړه لري، د لاندې ریجیکسونو څخه یو غوره کړئ.

    د بشپړ ډومین نوم د فرعي ډومینونو په شمول

    بطره ترلاسه کولو لپاره: (؟: https؟\:

    مایکل براون د ټیکنالوژۍ وقف شوی لیوال دی چې د سافټویر وسیلو په کارولو سره د پیچلو پروسو ساده کولو لپاره لیوالتیا لري. د ټیک صنعت کې د یوې لسیزې څخه ډیرې تجربې سره، هغه خپل مهارتونه په مایکروسافټ ایکسل او آؤټ لک کې، او همدارنګه د ګوګل شیټس او اسنادو کې لوړ کړي دي. د مایکل بلاګ د نورو سره د هغه پوهه او تخصص شریکولو ته وقف شوی دی، د تولید او موثریت د ښه کولو لپاره د تعقیب لپاره اسانه لارښوونې او لارښوونې چمتو کوي. که تاسو تجربه لرونکی مسلکي یاست یا پیل کونکی یاست ، د مایکل بلاګ د دې اړین سافټویر وسیلو څخه خورا ډیر ترلاسه کولو لپاره ارزښتناک لیدونه او عملي مشورې وړاندې کوي.