Regex gus sreangan a thoirt a-mach ann an Excel (aon no a h-uile geama)

  • Roinn Seo
Michael Brown

San oideachadh seo, ionnsaichidh tu mar a chleachdas tu abairtean àbhaisteach ann an Excel gus fo-thalagan a lorg agus a tharraing a-mach a fhreagras ri pàtran sònraichte.

Sònraichidh Microsoft Excel grunn ghnìomhan airson teacsa a tharraing bho cheallan. Faodaidh na gnìomhan sin dèiligeadh ris a’ mhòr-chuid de dhùbhlain às-tharraing sreang anns na duilleagan-obrach agad. Mhòr-chuid, ach chan eil a h-uile. Nuair a thuislich gnìomhan an teacsa, thig abairtean cunbhalach gu teasairginn. Fuirich ... chan eil gnìomhan RegEx aig Excel! Fìor, chan eil gnìomhan in-thogail. Ach chan eil dad ann a chuireadh stad ort bho bhith a’ cleachdadh an fheadhainn agad fhèin :)

    Gnìomh Excel VBA Regex gus sreangan a thoirt a-mach

    Gus gnìomh àbhaisteach Regex Extract a chur ris an Excel agad, cuir a-steach an còd a leanas anns an deasaiche VBA. Gus abairtean cunbhalach a chomasachadh ann an VBA, tha sinn a’ cleachdadh an nì togte Microsoft RegExp.

    Gnìomh Poblach RegExpExtract (teacsa Mar String , pàtran Mar String , Roghainneil instance_num Mar Integer = 0, Match_case roghainneil Mar Boolean = Fìor ) Dim text_matches() As String Dim matches_index As Integer On Mearachd GoTo ErrHandl RegExpExtract = "" Suidhich regex = CreateObject ( "VBScript.RegExp") regex.pattern = pàtran regex.Global = Fìor regex.MultiLine = Fìor Ma tha True = match_case An uairsin regex. neamhairdcase = Meallta Eile regex.ignorecase = Fìor Chrìoch Ma shuidhicheas tu matches = regex.Execute(text) Ma tha 0 < matches.Count An uairsin Ma tha (0 = example_num) An uairsin ReDim text_matches(matches.Count - 1, 0) Airson matches_index = 0 GuVBA RegExp, tha mi gad bhrosnachadh gus an ath phàirt a leughadh a bhios a’ bruidhinn air gnìomhan .NET Regex tòrr nas cumhachdaiche.

    Gnìomh Regex stèidhichte air Custom .NET gus teacsa a thoirt a-mach ann an Excel

    Eu-coltach ri gnìomhan VBA RegExp a tha faodar a sgrìobhadh le neach-cleachdaidh Excel sam bith, is e .NET RegEx rìoghachd an leasaiche. Tha Microsoft .NET Framework a' toirt taic do cho-chòrdadh abairt àbhaisteach làn-nochdadh a tha co-chosmhail ri Perl 5. Cha ionnsaich an artaigil seo dhut mar a sgrìobhas tu gnìomhan mar seo (chan e prògramadair a th' annam agus chan eil beachd sam bith agam air mar a nì thu sin :)

    Tha ceithir gnìomhan cumhachdach air an giullachd leis an einnsean àbhaisteach .NET RegEx air an sgrìobhadh leis an luchd-leasachaidh mu thràth agus air an toirt a-steach do Ultimate Suite. Gu h-ìosal, seallaidh sinn cuid de chleachdaidhean practaigeach den ghnìomh a chaidh a dhealbhadh gu sònraichte airson teacsa a tharraing ann an Excel.

    Tip. Airson fiosrachadh mun cho-chòrdadh .NET Regex, thoir sùil air .NET Cànan Aithris Cunbhalach.

    Mar a bheir thu a-mach gathan ann an Excel a’ cleachdadh abairtean cunbhalach

    A’ gabhail ris gu bheil an tionndadh as ùire agad de Ultimate Suite air a chuir a-steach, bidh toirt a-mach teacsa le abairtean cunbhalach a’ goil sìos chun dà cheum seo:

    1. Air an taba Ablebits Data , sa bhuidheann Text , cliog air Innealan Regex .
    2. Air a’ phana Regex Tools , tagh an stòr-dàta, cuir a-steach am pàtran Regex agad, agus tagh an roghainn Extract . Gus an toradh fhaighinn mar ghnìomh gnàthaichte, chan e luach, tagh an Cuir a-steach mar fhoirmle seicbocsa. Nuair a bhios tu deiseil, cliog air a’ phutan Earrann .

    Nochdaidh na toraidhean ann an colbh ùr air taobh deas an dàta tùsail agad:

    Co-chàradh AblebitsRegexExtract

    Tha an co-chàradh a leanas aig ar gnìomh gnàthaichte:

    AblebitsRegexExtract(iomradh, regular_expression)

    Càite:

    • Iomradh (riatanach) - iomradh air a' chill anns a bheil an t-sreang thùsail.
    • Regular_expression (riatanach) - am pàtran regex airson a bhith co-ionnan.

    Nòta cudromach! Chan obraich an gnìomh ach air na h-innealan le Ultimate Suite for Excel air a chuir a-steach.

    Nòtaichean cleachdaidh

    Gus an lùb ionnsachaidh agad a dhèanamh nas socair agus an eòlas agad a dhèanamh nas tlachdmhoire, thoir an aire do na puingean seo:

    1. Gus foirmle a chruthachadh, 's urrainn dhut ar Innealan Regex a chleachdadh, no an còmhradh Insert function aig Excel, no cuir a-steach ainm làn-ghnìomha ann an cealla. Aon uair 's gu bheil am foirmle air a chur a-steach, 's urrainn dhut a stiùireadh (deasaich, dèan lethbhreac no gluais) mar fhoirmle dùthchasach sam bith.
    2. Thèid am pàtran a chuireas tu a-steach air a' phana Regex Tools dhan dàrna argamaid. Tha e comasach cuideachd abairt cunbhalach a chumail ann an cealla air leth. Anns a' chùis seo, dìreach cleachd iomradh cealla airson an 2na argamaid.
    3. Tha an gnìomh a' toirt a-mach a' gheama a chaidh a lorg an toiseach .
    4. A ghnàth, 's e cùis a th' anns a' ghnìomh. - mothachail . Airson maidseadh cùise neo-mhothachail, cleachd am pàtran (?i).
    5. Mura lorgar maids, tha mearachd # N/Aair ais.

    Regex gus sreang a tharraing eadar dà charactar

    Gus teacsa fhaighinn eadar dà charactar, 's urrainn dhut buidheann glacaidh no seallaidhean mun cuairt a chleachdadh.

    Nì sinn can gu bheil thu airson teacsa a tharraing eadar camagan. 'S e buidheann glacaidh an dòigh as fhasa.

    Pàtran 1 : \[(.*?)\]

    Le deagh shealladh air a cùlaibh 's air thoiseach, bidh an toradh dìreach an aon rud.

    Pàtran 2 : (?<=\[)(.*?)(?=\])

    Feuch an toir thu an aire gu bheil ar buidheann glacaidh nì (.*?) lorg leisg airson teacsa eadar dà camagan - bhon chiad [ chun a’ chiad ]. Dhèanadh buidheann glacaidh gun chomharradh ceist (.*) lorg sanntach agus ghlacadh iad a h-uile càil bhon chiad [ chun an fhear mu dheireadh ].

    Leis a’ phàtran ann an A2, thèid am foirmle mar a leanas:

    =AblebitsRegexExtract(A5, $A$2)

    Mar a gheibh thu a h-uile maids

    Mar a chaidh ainmeachadh cheana, chan urrainn dhan ghnìomh AblebitsRegextract ach aon mhaidse a tharraing. Gus a h-uile maids fhaighinn, faodaidh tu an gnìomh VBA air an do bhruidhinn sinn na bu thràithe a chleachdadh. Ach, tha aon uaimh ann - chan eil VBA RegExp a’ toirt taic do bhith a’ glacadh bhuidhnean, agus mar sin tillidh am pàtran gu h-àrd na caractaran “crìoch” cuideachd, camagan sa chùis againn.

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

    Gus faighinn cuidhteas De na camagan, cuir a-steach iad le sreangan falamh ("") a' cleachdadh na foirmle seo:

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

    Airson leughadh nas fheàrr, tha sinn a' cleachdadh cromag airson delimiter.

    Regex gus teacsa a tharraing eadar dà shreang

    An dòigh-obrach a dh’obraich sinneadar-mhìnich e gu litireil).

  • (?:[A-Za-z\d\-\.]{2,255}\.)? - buidheann neo-ghlacadh gus raointean treas-ìre, ceathramh ìre, msaa a chomharrachadh, ma tha gin ann ( gluasadach nar sampall URL). Anns a’ chiad phàtran, tha e air a chuir taobh a-staigh buidheann glacaidh nas motha gus a h-uile subdomain mar sin a thoirt a-steach don às-tharraing. Faodaidh fo-àrainn a bhith eadar 2 is 255 caractar a dh’fhaid, mar sin an tomhas-tomhais {2,255}.
  • ([A-Za-z\d\-]{1,63}\.[A-Za-z] {2,24}) - buidheann glacaidh gus an àrainn dara-ìre a thoirt a-mach ( ablebits ) agus an àrainn àrd-ìre ( com ). Is e an fhad as motha ann an àrainn dàrna ìre 63 caractaran. Tha 24 caractairean san àrainn àrd-ìre as fhaide a tha ann an-dràsta.
  • A rèir dè an abairt àbhaisteach a chuirear a-steach ann an A2, bheir an fhoirmle gu h-ìosal toraidhean eadar-dhealaichte:

    =AblebitsRegexExtract(A5, $A$2)

    Regex gus an ainm àrainn slàn a thoirt a-mach leis a h-uile fo-roinn:

    Regex gus dàrna ìre àrainn a thoirt a-mach às aonais fo-roinnean:

    Sin mar a tharraingeas tu pàirtean de theacsa ann an Excel a’ cleachdadh abairtean cunbhalach. Tha mi a’ toirt taing dhut airson do leughadh agus tha mi a’ coimhead air adhart ri d’fhaicinn air ar blog an ath sheachdain!

    Luchdaich a-nuas ri fhaighinn

    Eisimpleirean de Excel Regex Extract (faidhle.xlsm)

    Tionndadh deuchainn Ultimate Suite (faidhle .exe)

    > \b(0?[0-9]matches.Count - 1 text_matches(matches_index, 0) = matches.Item(matches_index) An ath matches_index RegExpExtract = text_matches Else RegExpExtract = matches.Item(instance_num - 1) Crìoch ma thig e gu crìch ma tha gnìomh fàgail ErrHandl: RegExtract(ExtractxlVer End) Function CVEr End

    Mura h-eil ach glè bheag de eòlas agad air VBA, dh’ fhaodadh stiùireadh ceum air cheum a bhith cuideachail: Mar a chuireas tu còd VBA a-steach ann an Excel.

    Thoir an aire. Gus an obraich an gnìomh, dèan cinnteach gun sàbhail thu am faidhle agad mar leabhar-obrach macro-comas (.xlsm).

    Co-chàradh RegExpExtract

    Tha an gnìomh RegExpExtract a' rannsachadh sreang ion-chur airson luachan a fhreagras ri abairt àbhaisteach agus a bheir a-mach aon no a h-uile maids.

    Tha an co-chàradh a leanas aig a' ghnìomh. :

    RegExpExtract (teacsa, pàtran, [instance_num], [match_case])

    Càite:

    • Teacs (riatanach) - sreang an teacsa airson rannsachadh a dhèanamh ann.
    • Pàtran (riatanach) - an abairt àbhaisteach airson a bhith co-ionnan. Nuair a thèid a sholarachadh gu dìreach ann am foirmle, bu chòir am pàtran a chuartachadh ann an comharran-luirg dùbailte.
    • Instance_num (roghainneil) - àireamh sreathach a sheallas dè an t-eisimpleir a bu chòir a thoirt a-mach. Ma thèid fhàgail air falbh, tillidh e a h-uile maids a chaidh a lorg (bunaiteach).
    • Match_case (roghainneil) - a’ mìneachadh am bu chòir dhut a’ chùis teacsa a mhaidseadh no a leigeil seachad. Ma tha TRUE no air fhàgail a-mach (bunaiteach), thèid maidseadh cùis-mothachail a dhèanamh; ma tha FALSE - cùis-mhothachail.

    Tha an gnìomh ag obair anns a h-uile dreach de Excel 365, Excel 2021, Excel2019, Excel 2016, Excel 2013 agus Excel 2010.

    4 rudan air am bu chòir fios a bhith agad mu RegExpExtract

    Gus an gnìomh san Excel agad a chleachdadh gu h-èifeachdach, tha beagan rudan cudromach ann airson aire a thoirt:

    1. Gu gnàthach, tillidh an gnìomh a h-uile maids a chaidh a lorg a-steach do cheallan faisg air làimh mar a chithear san eisimpleir seo. Airson tachartas sònraichte fhaighinn, thoir àireamh cho-fhreagarrach ris an argamaid instance_num .
    2. A ghnàth, tha an gnìomh mothachail air cùis . Airson maidseadh cùis-mothachail, suidhich an argamaid match_case gu FALSE. Air sgàth cuingealachaidhean VBA, chan obraich an togail cùis-mhothachail (?i).
    3. Mura lorgar pàtran dligheach , cha till an gnìomh rud sam bith (sreang falamh).
    4. Ma tha am pàtran neo-dhligheach , a #VALUE! tha mearachd a' tachairt.

    Mus tòisich thu a' cleachdadh a' ghnìomh gnàthaichte seo air na duilleagan-obrach agad, feumaidh tu tuigsinn dè as urrainn dha, nach eil? Tha na h-eisimpleirean gu h-ìosal a’ còmhdach beagan chùisean cleachdaidh cumanta agus a’ mìneachadh carson a dh’ fhaodadh an giùlan a bhith eadar-dhealaichte ann an Dynamic Array Excel (Microsoft 365 agus Excel 2021) agus traidiseanta Excel (2019 agus dreachan nas sine).

    Thoir an aire. Tha eisimpleirean a-mach regex air an sgrìobhadh airson seataichean dàta sìmplidh sìthiche. Chan urrainn dhuinn gealltainn gun obraich iad gun sgur anns na fìor dhuilleagan-obrach agad. Dh’ aontaicheadh ​​an fheadhainn aig a bheil eòlas air regex gur e slighe gun chrìoch gu foirfeachd a th’ ann an sgrìobhadh abairtean cunbhalach - cha mhòr an-còmhnaidh tha dòigh ann airtha e nas eireachdail no comasach air raon nas fharsainge de dhàta cuir a-steach a làimhseachadh.

    Regex gus àireamh a tharraing às an t-sreang

    An dèidh an ìre as àirde de theagasg "bho shìmplidh gu iom-fhillte", tòisichidh sinn le cùis gu math sìmplidh: a' toirt a-mach àireamh bhon t-sreang.

    An 'S e a' chiad rud a nì thu co-dhùnadh dè an àireamh a gheibh thu: an toiseach, mu dheireadh, tachartas sònraichte no a h-uile h-àireamh.

    Thoir a-mach a' chiad àireamh

    Tha seo cho sìmplidh 's a gheibh regex. Leis gu bheil \d a' ciallachadh figear sam bith eadar 0 is 9, agus + a' ciallachadh aon turas no barrachd, bidh an abairt àbhaisteach againn san fhoirm seo:

    Pàtran : \d+

    Set instance_num gu 1 agus gheibh thu an toradh a tha thu ag iarraidh:

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

    Far a bheil A5 an t-sreang thùsail.

    Airson goireasachd, faodaidh tu cuir a-steach am pàtran ann an cealla ro-mhìnichte ($A$2 ) agus glas an seòladh aige leis an t-soidhne $:

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

    Faigh an àireamh mu dheireadh

    Gus an àireamh mu dheireadh ann an sreang a tharraing , seo am pàtran a chleachdas tu:

    Pàtran : (\d+)(?!.*\d)

    Eadar-theangaichte gu cànan daonna , tha e ag ràdh: lorg àireamh nach eil air a leantainn (àite sam bith, chan ann dìreach sa bhad) le àireamh sam bith eile. Gus seo a chur an cèill, tha sinn a' cleachdadh sealladh àicheil (?!.*\d), a tha a' ciallachadh nach bu chòir figear eile (\d) a bhith air taobh deas a' phàtrain ge bith cia mheud caractar eile a tha air thoiseach air.<3

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

    Molaidhean:

    • Gus tachartas sònraichte fhaighinn, cleachd \d+ airson pàtran agus sreath-sreath iomchaidhàireamh airson instance_num .
    • Thathas a’ bruidhinn air an fhoirmle airson a h-uile àireamh a thoirt a-mach san ath eisimpleir.

    Regex gus a h-uile maids a thoirt a-mach

    Le bhith a’ putadh na h-eisimpleir againn beagan nas fhaide, saoil gu bheil thu airson na h-àireamhan gu lèir fhaighinn à sreang, chan e dìreach aon.

    Mar is dòcha gu bheil cuimhne agad, tha an àireamh de gheamannan a chaidh a thoirt a-mach fo smachd an roghainn instance_num argamaid. Tha a h-uile rud bunaiteach mar a tha e, agus mar sin fàgaidh tu am paramadair seo a-mach:

    =RegExpExtract(A2, "\d+")

    Tha am foirmle ag obair gu h-àlainn airson aon chill, ach tha an giùlan eadar-dhealaichte ann an Dynamic Array Excel agus tionndaidhean neo-fiùghantach.

    Excel 365 agus Excel 2021

    Mar thoradh air taic airson arrays fiùghantach, bidh foirmle cunbhalach gu fèin-obrachail a’ dòrtadh a-steach do na h-uimhir de cheallan a dh’ fheumar gus a h-uile toradh àireamhaichte a thaisbeanadh. A thaobh Excel, canar raon dòrtadh ris an seo:

    Excel 2019 agus nas ìsle

    Ann an Excel ro-fiùghantach, bhiodh am foirmle gu h-àrd a’ tilleadh dìreach aon mhaidse. Gus iomadh maidsean fhaighinn, feumaidh tu a dhèanamh na fhoirmle rèite. Airson seo, tagh raon de cheallan, dèan an fhoirmle, agus brùth Ctrl + Shift + Enter gus a chrìochnachadh.

    'S e eas-bhuannachd den dòigh-obrach seo dòrlach de #N/A mhearachdan a' nochdadh ann an "ceallan a bharrachd" . Gu mì-fhortanach, chan urrainnear dad a dhèanamh mu dheidhinn (chan urrainn dha IFERROR no IFNA a chàradh, mo thruaighe).

    Thoir a-mach a h-uile maids ann an aon chill

    Nuair a bhios tu a’ làimhseachadh colbh dàta, tha e soilleir nach obraich an dòigh-obrach gu h-àrd. Anns a 'chùis seo, fuasgladh mathbhiodh e a’ tilleadh a h-uile geama ann an aon chealla. Gus a dhèanamh, thoir seachad toraidhean RegExpExtract don ghnìomh TEXTJOIN agus dealaich iad le crìochan sam bith a thogras tu, abair cromag agus àite:

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

    Thoir an aire. Leis nach eil an gnìomh TEXTJOIN ri fhaighinn ach ann an Excel airson Microsoft 365, Excel 2021 agus Excel 2019, chan obraich am foirmle ann an dreachan nas sine.

    Regex gus teacsa a tharraing à sreang

    A’ toirt a-mach teacsa à tha sreang alphanumeric na obair gu math dùbhlanach ann an Excel. Le regex, bidh e cho furasta ri pie. Dìreach cleachd clas a chaidh àicheadh ​​gus a h-uile rud nach eil na fhigear a mhaidseadh.

    Pàtran : [^\d]+

    Gus fo-thalagan fhaighinn ann an ceallan fa leth (raon dòrtaidh) , is e am foirmle:

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

    Gus a h-uile maids a chuir a-mach gu aon chill, neadaich an gnìomh RegExpExtract ann an TEXTJOIN mar seo:

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

    Regex to thoir seòladh puist-d a-mach à sreang

    Gus seòladh puist-d a tharraing a-mach à sreang anns a bheil tòrr fiosrachaidh eadar-dhealaichte, sgrìobh abairt àbhaisteach a bhios ag ath-aithris structar an t-seòlaidh puist-d.

    Pàtran : [\w\.\-]+@[A-Za-z0-9\.\-]+\.[A-Za-z]{2,24}

    A' briseadh sìos an regex seo , seo na gheibh sinn:

    • [\w\.\-]+ ainm neach-cleachdaidh a dh’ fhaodadh a bhith a’ toirt a-steach 1 no barrachd charactaran alfa-àireamhach, fo-sgòran, dotagan is tàthan.
    • @ symbol
    • [A-Za-z0-9\.\-]+ 'S e ainm àrainn anns a bheil: litrichean mòra is beaga, àireamhan, tàthan is dotagan (gun fhios nachde subdomains). Chan eil fo-sgòran ceadaichte an seo, mar sin thathas a’ cleachdadh 3 sheata charactaran eadar-dhealaichte (leithid AZ a-z agus 0-9) an àite \w a tha a’ freagairt ri litir, figear no fo-sgòr sam bith.
    • \.[A-Za-z ]’S e raon aig àrd-ìre a tha ann an {2,24}. Air a dhèanamh suas de dot air a leantainn le litrichean mòra agus litrichean beaga. Tha 3 litrichean a dh'fhaid aig a' mhòr-chuid de dh'àrainnean àrd-ìre (m.e. .com .org, .edu, msaa), ach ann an teòiridh faodaidh eadar 2 is 24 litir a bhith ann (an TLD clàraichte as fhaide).

    A’ gabhail ris gu bheil an sreang ann an A5 agus am pàtran ann an A2, is e am foirmle airson seòladh puist-d a tharraing a-mach:

    =RegExpExtract(A5, $A$2)

    Regex gus àrainn a tharraing à post-d

    Nuair a bhios e ann a’ tighinn gu bhith a’ toirt a-mach àrainn post-d, is e a’ chiad bheachd a thig nam inntinn a bhith a’ cleachdadh buidheann glacaidh gus teacsa a lorg a bhios a’ leantainn an caractar @ sa bhad.

    Pàtran : @([A-Za-z0 -9\.\-]+\.[A-Za-z]{2,24})

    Dèan seirbheis dhan ghnìomh RegExp againn:

    =RegExpExtract(A5, "@([A-Za-z0-9\.\-]+\.[A-Za-z]{2,24})")

    Agus gheibh thu an toradh seo:

    Le abairtean àbhaisteach clasaigeach, chan eil dad taobh a-muigh buidheann glacaidh air a ghabhail a-steach san às-tharraing. Chan eil fios aig duine carson a tha VBA RegEx ag obair ann an dòigh eadar-dhealaichte agus a 'glacadh "@" cuideachd. Airson cuidhteas fhaighinn dheth, 's urrainn dhut a' chiad charactar a thoirt às an toradh le bhith a' cur sreang fhalamh na àite.

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

    Sloinneadh cunbhalach gus àireamhan fòn a thoirt a-mach

    Àireamhan fòn Faodar a sgrìobhadh ann an iomadh dòigh eadar-dhealaichte, agus is e sin as coireach gu bheil e faisg air do-dhèanta fuasgladh a lorg ag obair fo na h-uile(\d{4}bho sreang

    Tha abairt àbhaisteach airson ceann-latha a tharraing a-mach an crochadh air an fhòrmat anns a bheil an ceann-latha a' nochdadh taobh a-staigh sreang. Mar eisimpleir:

    Gus cinn-latha leithid 1/1/21 no 01/01/2021 a tharraing a-mach, is e an regex: \d{1,2}\/\d{1,2}\/(\d {4}suidheachaidhean. A dh'aindeoin sin, 's urrainn dhut a h-uile cruth a chleachdar san stòr-dàta agad a sgrìobhadh sìos agus feuchainn rin maidseadh.

    Airson an eisimpleir seo, tha sinn gu bhith a' cruthachadh regex a bheir a-mach àireamhan fòn ann an gin dhe na fòrmatan seo:

    (123) 345-6789

    (123) 345 6789

    (123) 3456789

    123- 345-6789

    123.345.6789

    123 345 6789

    1233456789

    0> Pàtran : \(?\d{3}[-\.\)]*\d{3}[-\. ]?\d{4}\b
    • Tha a' chiad phàirt \(?\d{3} a' maidseadh neoni no aon phàtran fosglaidh le trì àireamhan d{3} às a dhèidh.
    • Tha am pàirt [-\.\)]* a' ciallachadh caractar sam bith eadar camagan ceàrnach a' nochdadh 0 no barrachd thursan: tàthan, ùine, àite no bragan dùnaidh.
    • An ath rud, tha trì àireamhan againn a-rithist d{3} agus an uairsin tàthan, ùine no àite sam bith [-\. ]? a' nochdadh 0 neo 1 uair.
    • Às dèidh sin, tha buidheann de cheithir àireamhan ann \d{4}.
    • Mu dheireadh, tha crìoch facail ann \b a' mìneachadh gur e àireamh fòn a th' annainn. chan urrainn dhut a bhith mar phàirt de àireamh nas motha.

    Tha an fhoirmle iomlan a’ gabhail an cruth seo:

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

    Thoir an aire gur dòcha gun till an regex gu h-àrd beagan toraidhean meallta-dearbhach leithid 123) 456 7899 no (123 456 7899. Tha an dreach gu h-ìosal a' fuasgladh nan cùisean sin. Ach, chan obraich an co-chòrdadh seo ach ann an gnìomhan VBA RegExp, chan ann ann an abairtean àbhaisteach clasaigeach.

    Pàtran : ( \(\d{3}\)a-mach airson teacsa a tharraing a-mach eadar dà charactar cuideachd obraichidh e gus teacsa a tharraing eadar dà shreath.

    Mar eisimpleir, airson a h-uile càil fhaighinn eadar "test 1" agus "test 2", cleachd an abairt àbhaisteach a leanas.

    Pàtran : deuchainn 1(.*?)deuchainn 2

    Is e am foirmle iomlan:

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

    Regex gus àrainn a tharraing à URL

    Fiù ‘s le abairtean cunbhalach, chan e obair bheag a th’ ann a bhith a’ toirt ainmean fearainn à URLan. Is e am prìomh eileamaid a nì an cleas buidhnean nach eil a’ glacadh. A rèir an amas mu dheireadh a th' agad, tagh fear dhe na regexes gu h-ìosal.

    Gus ainm àrainn slàn fhaighinn a' gabhail a-steach fo-roinnean

    Pàtran : (?: https?\:

    Tha Mìcheal Brown dèidheil air teicneòlas sònraichte le dìoghras airson pròiseasan iom-fhillte a dhèanamh nas sìmplidhe a’ cleachdadh innealan bathar-bog. Le còrr air deich bliadhna de eòlas anns a’ ghnìomhachas teignigeach, tha e air urram a thoirt dha na sgilean aige ann am Microsoft Excel agus Outlook, a bharrachd air Google Sheets agus Docs. Tha blog Mhìcheil gu sònraichte airson a chuid eòlais agus eòlais a cho-roinn le daoine eile, a’ toirt seachad molaidhean agus clasaichean-oideachaidh a tha furasta a leantainn airson cinneasachd agus èifeachdas a leasachadh. Ge bith co-dhiù a tha thu nad neach-proifeiseanta eòlach no nad neach-tòiseachaidh, tha blog Mhìcheal a 'tabhann lèirsinn luachmhor agus comhairle phractaigeach airson a bhith a' faighinn a 'chuid as fheàrr às na h-innealan bathar-bog riatanach sin.