విషయ సూచిక
ఈ ట్యుటోరియల్లో, Excelలో స్ట్రింగ్లను సరిపోల్చడానికి regexని ఎలా ఉపయోగించాలో మేము లోతుగా పరిశీలిస్తాము.
మీరు ఒక పరిధిలో నిర్దిష్ట విలువను కనుగొనవలసి వచ్చినప్పుడు కణాలలో, మీరు MATCH లేదా XMATCH ఫంక్షన్ని ఉపయోగించాలి. సెల్లో నిర్దిష్ట స్ట్రింగ్ కోసం చూస్తున్నప్పుడు, FIND మరియు SEARCH ఫంక్షన్లు ఉపయోగపడతాయి. మరియు సెల్ ఇచ్చిన నమూనాతో సరిపోలే సమాచారాన్ని కలిగి ఉంటే మీకు ఎలా తెలుస్తుంది? సహజంగానే, సాధారణ వ్యక్తీకరణలను ఉపయోగించడం ద్వారా. కానీ అవుట్ ఆఫ్ ది బాక్స్ ఎక్సెల్ రీజెక్స్లకు మద్దతు ఇవ్వదు! చింతించకండి, మేము దీన్ని బలవంతం చేస్తాము :)
Excel VBA Regex ఫంక్షన్ స్ట్రింగ్లను సరిపోల్చడానికి
సాధారణ వ్యక్తీకరణలను ఉపయోగించడానికి ఇది హెడ్డింగ్ నుండి చాలా స్పష్టంగా ఉంది Excelలో, మీరు మీ స్వంత ఫంక్షన్ని సృష్టించాలి. అదృష్టవశాత్తూ, Excel యొక్క VBA అంతర్నిర్మిత RegExp ఆబ్జెక్ట్ని కలిగి ఉంది, దీన్ని మీరు దిగువ చూపిన విధంగా మీ కోడ్లో ఉపయోగించవచ్చు:
పబ్లిక్ ఫంక్షన్ RegExpMatch(ఇన్పుట్_రేంజ్ రేంజ్, స్ట్రింగ్గా నమూనా , బూలియన్గా ఐచ్ఛిక మ్యాచ్_కేస్ = ట్రూ ) వేరియంట్ డిమ్ arRes() ఫలితాలను నిల్వ చేయడానికి వేరియంట్ శ్రేణి వలె మసక iInputCurRow, iInputCurCol, cntInputRows, cntInputCols సోర్స్ పరిధిలోని ప్రస్తుత వరుస యొక్క లాంగ్ 'ఇండెక్స్, సోర్స్ పరిధిలోని ప్రస్తుత నిలువు వరుస సూచిక, అడ్డు వరుసల గణన, గణన దోషంపై నిలువు వరుసలు GoTo ErrHandl RegExpMatch = arRes సెట్ regex = CreateObject ( "VBScript.RegExp" ) regex.pattern = నమూనా regex.Global = ట్రూ regex.MultiLine = ఒప్పు అయితే ట్రూ = match_case Else = Fignorecase అప్పుడు regex. ముగింపువ్యక్తీకరణలు.నమూనా : \b[\w\.\-]+@[A-Za-z0-9]+[A-Za-z0-9\.\- ]*[A-Za-z0-9]+\.[A-Za-z]{2,24}\b
ఇక్కడ ఏమి జరుగుతుందో బాగా అర్థం చేసుకోవడానికి, ప్రతి భాగాన్ని నిశితంగా పరిశీలిద్దాం. :
- వినియోగదారు పేరు అక్షరాలు, సంఖ్యలు, అండర్స్కోర్లు, చుక్కలు మరియు హైఫన్లను కలిగి ఉండవచ్చు. \w ఏదైనా అక్షరం, అంకె లేదా అండర్స్కోర్తో సరిపోలుతుందని గుర్తుంచుకోండి, మేము ఈ క్రింది రీజెక్స్ని పొందుతాము: [\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)
Mach regexతో Excel IF ఫార్ములా
అంతర్నిర్మిత మరియు అనుకూలమైన వాస్తవం కారణంగావిధులు చక్కగా సాగుతాయి, ఒకే ఫార్ములాలో వాటిని కలిపి ఉపయోగించకుండా మిమ్మల్ని నిరోధించేది ఏదీ లేదు.
ఒక సాధారణ వ్యక్తీకరణ సరిపోలితే దాన్ని తిరిగి ఇవ్వడానికి లేదా లెక్కించడానికి మరియు అది సరిపోలని పక్షంలో, అనుకూల RegExpMatchని పొందుపరచండి IF యొక్క లాజికల్ టెక్స్ట్లో ఫంక్షన్:
IF(RegExpMatch(...), [value_if_true], [value_if_false])ఉదాహరణకు, A5లోని స్ట్రింగ్ చెల్లుబాటు అయ్యే ఇమెయిల్ చిరునామాను కలిగి ఉంటే, మీరు "అవును" అని అందించవచ్చు; లేకుంటే "లేదు".
=IF(RegExpMatch(A5, $A$2,), "Yes", "No")
regex సరిపోలితే లెక్కించండి
ఎందుకంటే స్థానిక Excel ఫంక్షన్లు సాధారణ వ్యక్తీకరణలకు మద్దతు ఇవ్వవు, ఇది COUNTIS లేదా COUNTIFS ఫంక్షన్లో నేరుగా రీజెక్స్ను ఉంచడం సాధ్యం కాదు. అదృష్టవశాత్తూ, మీరు మా అనుకూల ఫంక్షన్ని ఉపయోగించి ఈ కార్యాచరణను అనుకరించవచ్చు.
మీరు ఫోన్ నంబర్లను సరిపోల్చడానికి మరియు కాలమ్ Bలో ఫలితాలను అవుట్పుట్ చేయడానికి రీజెక్స్ని ఉపయోగించారని అనుకుందాం. ఎన్ని సెల్లు ఫోన్ నంబర్లను కలిగి ఉన్నాయో తెలుసుకోవడానికి, మీకు ఇది అవసరం B5:B9లో TRUE విలువలను లెక్కించడానికి. మరియు అది ప్రామాణిక COUNTIF సూత్రాన్ని ఉపయోగించి సులభంగా చేయవచ్చు:
=COUNTIF(B5:B9, TRUE)
మీ వర్క్షీట్లో అదనపు నిలువు వరుసలు లేవా? ఏమి ఇబ్బంది లేదు. మా అనుకూల ఫంక్షన్ ఒకేసారి బహుళ సెల్లను ప్రాసెస్ చేయగలదని మరియు Excel యొక్క SUM శ్రేణిలో విలువలను జోడించగలదని గుర్తుంచుకోండి, మీరు ఏమి చేస్తారు:
- RegExpMatchకి పరిధి సూచనను అందించండి, కనుక ఇది ఒక TRUE మరియు FALSE విలువల శ్రేణి.
- తార్కిక విలువలను ఒకదానితో ఒకటి బలవంతం చేయడానికి డబుల్ నెగేషన్ (--) ఉపయోగించండిసున్నాలు.
- ఫలితం అయ్యే శ్రేణిలో 1 మరియు 0లను జోడించడానికి SUM ఫంక్షన్ని పొందండి.
=SUM(--RegExpMatch(A5:A9, $A$2))
Regex మ్యాచింగ్ అల్టిమేట్ సూట్తో
మా అల్టిమేట్ సూట్ యొక్క వినియోగదారులు యాడ్-ఇన్ ఇన్స్టాలేషన్ సమయంలో Excelలో సజావుగా విలీనం చేయబడినందున, వారి వర్క్బుక్లకు ఎటువంటి VBA కోడ్ను జోడించకుండానే నాలుగు శక్తివంతమైన Regex ఫంక్షన్లను ఉపయోగించుకోవచ్చు. మా కస్టమ్ ఫంక్షన్లు ప్రామాణిక .NET RegEx ఇంజిన్ ద్వారా ప్రాసెస్ చేయబడతాయి మరియు పూర్తి ఫీచర్ చేసిన క్లాసిక్ రెగ్యులర్ ఎక్స్ప్రెషన్లకు మద్దతు ఇస్తాయి.
కస్టమ్ RegexMatch ఫంక్షన్ను ఎలా ఉపయోగించాలి
మీరు Ultimate Suite యొక్క తాజా వెర్షన్ ఇన్స్టాల్ చేసారని ఊహిస్తే ( 2021.4 లేదా తర్వాత), మీరు రెండు సాధారణ దశల్లో Regex మ్యాచ్ ఫార్ములాను సృష్టించవచ్చు:
- Ablebits డేటా ట్యాబ్లో, Text సమూహంలో, క్లిక్ చేయండి Regex సాధనాలు .
- ఎంచుకోండి మూలాధార స్ట్రింగ్లు.
- మీ నమూనాను నమోదు చేయండి.
- మ్యాచ్ ఎంపికను ఎంచుకోండి.
- ఫలితాలను విలువలుగా కాకుండా సూత్రాలుగా కలిగి ఉండటానికి, <ని ఎంచుకోండి 8>ఫార్ములాగా చొప్పించండి చెక్ బాక్స్.
- మ్యాచ్ బటన్ను క్లిక్ చేయండి.
కొద్దిసేపటి తర్వాత, AblebitsRegexMatch ఫంక్షన్ మీ డేటాకు కుడివైపున ఉన్న కొత్త నిలువు వరుసలో చొప్పించబడింది.
దిగువ స్క్రీన్షాట్లో, కాలమ్ Aలోని స్ట్రింగ్లు 7-అంకెలను కలిగి ఉన్నాయో లేదో ఫంక్షన్ తనిఖీ చేస్తుంది సంఖ్యలు లేదా కాదు.
చిట్కాలు:
- ది ఫంక్ tion ను నేరుగా సెల్ లో చొప్పించవచ్చుస్టాండర్డ్ Insert Function డైలాగ్ బాక్స్ ద్వారా, ఇది AblebitsUDFs క్రింద వర్గీకరించబడింది.
- డిఫాల్ట్గా, ఫార్ములాకు ఒక సాధారణ వ్యక్తీకరణ జోడించబడుతుంది, కానీ మీరు కూడా ఉంచవచ్చు. అది ఒక ప్రత్యేక సెల్ లో. దీని కోసం, 2వ ఆర్గ్యుమెంట్ కోసం సెల్ రిఫరెన్స్ని ఉపయోగించండి.
- డిఫాల్ట్గా, ఫంక్షన్ కేస్-సెన్సిటివ్ . కేస్-ఇన్సెన్సిటివ్ మ్యాచింగ్ కోసం, (?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 కోసం iInputCurRows = 1 CntInputRows కోసం iInputCurCol .Cells(iInputCurRow, iInputCurCol).విలువ) తదుపరి తదుపరి RegExpMatch = arRes నిష్క్రమణ ఫంక్షన్ ErrHandl: RegExpMatch = CVErr(xlErrValue) ముగింపు ఫంక్షన్కోడ్ను VBA ఎడిటర్లో అతికించండి మరియు మీ కొత్త <2ExpatchMReg ఉపయోగం కోసం సిద్ధంగా ఉంది. మీకు VBAతో ఎక్కువ అనుభవం లేకుంటే, ఈ గైడ్ సహాయకరంగా ఉండవచ్చు: Excelలో VBA కోడ్ను ఎలా చొప్పించాలి.
గమనిక. కోడ్ని చొప్పించిన తర్వాత, మీ ఫైల్ను మాక్రో-ఎనేబుల్డ్ వర్క్బుక్ (.xlsm)గా సేవ్ చేయాలని గుర్తుంచుకోండి.
RegExpMatch సింటాక్స్
RegExpMatch ఫంక్షన్ మూలం స్ట్రింగ్లోని ఏదైనా భాగం సాధారణ వ్యక్తీకరణకు సరిపోతుందో లేదో తనిఖీ చేస్తుంది. ఫలితం బూలియన్ విలువ: కనీసం ఒక సరిపోలిక కనుగొనబడితే TRUE, లేకపోతే తప్పు.
మా అనుకూల ఫంక్షన్లో 3 ఆర్గ్యుమెంట్లు ఉన్నాయి - మొదటి రెండు అవసరం మరియు చివరిది ఐచ్ఛికం:
RegExpMatch(టెక్స్ట్ , నమూనా, [match_case])ఎక్కడ:
- వచనం (అవసరం) - శోధించడానికి ఒకటి లేదా అంతకంటే ఎక్కువ స్ట్రింగ్లు. సెల్ లేదా పరిధి సూచనగా సరఫరా చేయవచ్చు.
- నమూనా (అవసరం) - సరిపోలే సాధారణ వ్యక్తీకరణ. ఫార్ములాలో నేరుగా ఉంచినప్పుడు, ఒక నమూనా తప్పనిసరిగా డబుల్ కోట్లతో జతచేయబడాలి.
- Match_case (ఐచ్ఛికం) - సరిపోలికను నిర్వచిస్తుందిరకం. TRUE లేదా విస్మరించబడినట్లయితే (డిఫాల్ట్), కేస్-సెన్సిటివ్ మ్యాచింగ్ నిర్వహించబడుతుంది; తప్పు అయితే - కేస్-ఇన్సెన్సిటివ్.
ఈ ఫంక్షన్ Excel 365, Excel 2021, Excel 2019, Excel 2016, Excel 2013 మరియు Excel 2010 యొక్క అన్ని వెర్షన్లలో పనిచేస్తుంది.
3 విషయాలు మీరు RegExpMatch గురించి తెలుసుకోవాలి
మేము ఆచరణాత్మక గణనలను పొందే ముందు, దయచేసి కొన్ని సాంకేతికతలను స్పష్టం చేసే క్రింది అంశాలను గమనించండి:
- ఫంక్షన్ సింగిల్ సెల్<9ని ప్రాసెస్ చేయగలదు> లేదా సెల్ల పరిధి . తరువాతి సందర్భంలో, ఫలితాలు ఈ ఉదాహరణలో చూపిన విధంగా డైనమిక్ అర్రే లేదా స్పిల్ రేంజ్ రూపంలో పొరుగు సెల్లలో అందించబడతాయి.
- డిఫాల్ట్గా, ఫంక్షన్ కేస్-సెన్సిటివ్ . టెక్స్ట్ కేస్ను విస్మరించడానికి, match_case ఆర్గ్యుమెంట్ని FALSEకి సెట్ చేయండి. VBA Regexp పరిమితుల కారణంగా, కేస్-ఇన్సెన్సిటివ్ ప్యాటర్న్ (?i)కి మద్దతు లేదు.
- చెల్లుబాటు అయ్యే నమూనా కనుగొనబడకపోతే, ఫంక్షన్ FALSEని అందిస్తుంది; నమూనా చెల్లదు , #VALUE! లోపం ఏర్పడుతుంది.
క్రింద, మీరు ప్రదర్శన ప్రయోజనాల కోసం సృష్టించబడిన కొన్ని రీజెక్స్ మ్యాచ్ ఉదాహరణలను కనుగొంటారు. మీ నిజమైన వర్క్షీట్లలో విస్తృత శ్రేణి ఇన్పుట్ డేటాతో మా నమూనాలు దోషరహితంగా పనిచేస్తాయని మేము హామీ ఇవ్వలేము. ఉత్పత్తిని ప్రారంభించే ముందు, మీ అవసరాలకు అనుగుణంగా మా నమూనాల నమూనాలను పరీక్షించి, సర్దుబాటు చేసుకోండి.
Excelలో స్ట్రింగ్లను సరిపోల్చడానికి రీజెక్స్ని ఎలా ఉపయోగించాలి
మీరు సరిపోల్చాలనుకుంటున్న అన్ని స్ట్రింగ్లు ఉన్నప్పుడు అదే నమూనా,సాధారణ వ్యక్తీకరణలు ఒక ఆదర్శవంతమైన పరిష్కారం.
మీరు కొన్ని అంశాల గురించి వివిధ వివరాలను కలిగి ఉన్న సెల్ల పరిధిని (A5:A9) కలిగి ఉన్నారని అనుకుందాం. మీరు SKUలను కలిగి ఉన్న సెల్లను తెలుసుకోవాలనుకుంటున్నారు. ప్రతి SKUలో 2 పెద్ద అక్షరాలు, ఒక హైఫన్ మరియు 3 అంకెలు ఉంటాయి అని భావించి, మీరు వాటిని క్రింది వ్యక్తీకరణను ఉపయోగించి సరిపోల్చవచ్చు.
నమూనా : \b[A-Z]{2}-\ d{3}\b
ఎక్కడ [A-Z]{2} అంటే A నుండి Z వరకు ఏదైనా 2 పెద్ద అక్షరాలు మరియు \d{3} అంటే 0 నుండి 9 వరకు ఏవైనా 3 అంకెలు ఉంటాయి. \b అక్షరం ఒక పదాన్ని సూచిస్తుంది సరిహద్దు, అంటే SKU అనేది ఒక ప్రత్యేక పదం మరియు 23-MAR-2022 వంటి పెద్ద స్ట్రింగ్లో భాగం కాదు.
ఏర్పాటు చేసిన నమూనాతో, మేము ఫార్ములా రాయడం ప్రారంభించవచ్చు. ముఖ్యంగా, కస్టమ్ ఫంక్షన్ని ఉపయోగించడం స్థానికంగా ఉండే దాని నుండి భిన్నంగా ఉండదు. మీరు ఫార్ములాను టైప్ చేయడం ప్రారంభించిన వెంటనే, Excel యొక్క స్వీయపూర్తి సూచించిన జాబితాలో ఫంక్షన్ పేరు కనిపిస్తుంది. అయినప్పటికీ, డైనమిక్ అర్రే ఎక్సెల్ (మైక్రోసాఫ్ట్ 365 మరియు ఎక్సెల్ 2021) మరియు సాంప్రదాయ ఎక్సెల్ (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 డైనమిక్ శ్రేణులకు మద్దతు ఇస్తుంది, ఇది ఈ విధంగా పనిచేస్తుంది - మీరు మొదటి సెల్లో సూత్రాన్ని టైప్ చేసి, ఎంటర్ నొక్కండి మరియు ఫార్ములా స్వయంచాలకంగా దిగువ సెల్లలోకి చిందిస్తుంది.
Excel 2019 మరియు అంతకు ముందు, ఇది సాంప్రదాయ CSE శ్రేణి ఫార్ములా వలె మాత్రమే పని చేస్తుంది, ఇది సెల్ల పరిధిలో నమోదు చేయబడుతుంది మరియు Ctrl + Shift + Enter కీలను కలిపి నొక్కడం ద్వారా పూర్తి చేయబడుతుంది.
నంబరుతో సరిపోలడానికి Regex
0 నుండి 9 వరకు ఏదైనా ఒక అంకెతో సరిపోలడానికి, రీజెక్స్లో \d అక్షరాన్ని ఉపయోగించండి. మీ నిర్దిష్ట విధిని బట్టి, తగిన క్వాంటిఫైయర్ని జోడించండి లేదా మరింత సంక్లిష్టమైన నమూనాను సృష్టించండి.
ఏదైనా సంఖ్యతో సరిపోలడానికి Regex
ఏదైనా పొడవుతో సరిపోలడానికి, + క్వాంటిఫైయర్ని వెంటనే ఉంచండి / d అక్షరం, ఇది 1 లేదా అంతకంటే ఎక్కువ అంకెలు ఉన్న సంఖ్యల కోసం వెతకమని చెబుతుంది.
నమూనా : \d+
=RegExpMatch(A5:A9, "\d+")
నిర్దిష్ట పొడవు సంఖ్యను సరిపోల్చడానికి రీజెక్స్
నిర్దిష్ట సంఖ్యల సంఖ్యను కలిగి ఉన్న సంఖ్యా విలువలతో సరిపోలడం మీ లక్ష్యం అయితే, తగిన క్వాంటిఫైయర్తో కలిసి \dని ఉపయోగించండి.
ఉదాహరణకు, సరిగ్గా 7 అంకెలతో కూడిన ఇన్వాయిస్ నంబర్లను సరిపోల్చడానికి, మీరు \d{7}ని ఉపయోగించాలి. అయితే, దయచేసి ఇది 7తో సరిపోలుతుందని గుర్తుంచుకోండిఊహించిన విధంగా:
గమనికలు:
- అంతర్జాతీయ కోడ్లు తనిఖీ చేయబడవు, కాబట్టి అవి ఉండకపోవచ్చు లేదా ఉండకపోవచ్చు.
- సాధారణ వ్యక్తీకరణలలో, \s అంటే ఖాళీ, ట్యాబ్, క్యారేజ్ రిటర్న్ లేదా కొత్త లైన్ వంటి ఏదైనా వైట్స్పేస్ అక్షరం. ఖాళీలను మాత్రమే అనుమతించడానికి, [-\ని ఉపయోగించండి. ] బదులుగా [-\.\s].
- [^13] 1 లేదా 3 కాని ఏ ఒక్క అక్షరానికి సరిపోలుతుంది.
- [^1-3] 1 కాని ఏ ఒక్క అక్షరంతోనూ సరిపోలుతుంది, 2 లేదా 3 (అంటే 1 నుండి 3 వరకు ఏదైనా అంకె).
- ఎగువ రీజెక్స్ సింగిల్-లైన్ స్ట్రింగ్లకు మాత్రమే పని చేస్తుంది. మిల్టీ-లైన్ స్ట్రింగ్ల విషయంలో, ^ మరియు $ అక్షరాలు ఇన్పుట్ స్ట్రింగ్ యొక్క ప్రారంభం మరియు ముగింపుకు బదులుగా ప్రతి పంక్తి యొక్క ప్రారంభం మరియు ముగింపుకు సరిపోతాయి, కాబట్టి రీజెక్స్ మొదటి పంక్తిలో మాత్రమే శోధిస్తుంది.
- నిర్దిష్ట టెక్స్ట్ తో ప్రారంభించని తీగలను సరిపోల్చడానికి, ^(?!lemons)*$
- వంటి సాధారణ వ్యక్తీకరణను ఉపయోగించండి. ముగించని నిర్దిష్ట టెక్స్ట్ తో సరిపోల్చడానికి, చేర్చండిశోధన నమూనాలో ముగింపు స్ట్రింగ్ యాంకర్: ^((?!lemons$).)*$
Regex to NOT క్యారెక్టర్
నిర్దిష్ట అక్షరాన్ని కలిగి ఉండని స్ట్రింగ్లను కనుగొనడానికి, మీరు సరిపోలే [^ ] అక్షర తరగతులను ఉపయోగించవచ్చు బ్రాకెట్లలో లేని ఏదైనా. ఉదాహరణకు:
ఫోన్ నంబర్ల జాబితాలో, మీరు దేశం కోడ్ లేని వాటిని కనుగొనాలనుకుంటున్నారని అనుకుందాం. ఏదైనా అంతర్జాతీయ కోడ్లో + గుర్తు ఉంటుందని గుర్తుంచుకోండి, ప్లస్ గుర్తు లేని స్ట్రింగ్లను కనుగొనడానికి మీరు [^\+] అక్షర తరగతిని ఉపయోగించవచ్చు. పై వ్యక్తీకరణ + లేని ఏ ఒక్క అక్షరానికి సరిపోలుతుందని గ్రహించడం ముఖ్యం. ఫోన్ నంబర్ స్ట్రింగ్లో ఎక్కడైనా ఉండవచ్చు, ప్రారంభంలోనే అవసరం లేదు కాబట్టి, ప్రతి తదుపరి అక్షరాన్ని తనిఖీ చేయడానికి * క్వాంటిఫైయర్ జోడించబడుతుంది. ప్రారంభం ^ మరియు ముగింపు $ యాంకర్స్ మొత్తం స్ట్రింగ్ ప్రాసెస్ చేయబడిందని నిర్ధారిస్తుంది. ఫలితంగా, "స్ట్రింగ్లోని ఏ స్థానంలో ఉన్న + అక్షరంతో సరిపోలడం లేదు" అని చెప్పే సాధారణ వ్యక్తీకరణను మేము పొందుతాము.
నమూనా :^[^\+]*$
=RegExpMatch(A5, "^[^\+]*$")
Regex to NOT string
అయితే దీని కోసం ప్రత్యేక సాధారణ వ్యక్తీకరణ సింటాక్స్ లేదు నిర్దిష్ట స్ట్రింగ్తో సరిపోలడం లేదు, మీరు నెగటివ్ లుక్ఎహెడ్ని ఉపయోగించడం ద్వారా ఈ ప్రవర్తనను అనుకరించవచ్చు.
మీరు ని "నిమ్మకాయలు" అనే పదాన్ని కలిగి లేని స్ట్రింగ్లను కనుగొనాలనుకుంటున్నారు. ఈ సాధారణ వ్యక్తీకరణ అద్భుతంగా పని చేస్తుంది:
నమూనా : ^((?! నిమ్మకాయలు).)*$
నిస్సందేహంగా, ఇక్కడ కొంత వివరణ అవసరం. ఎదురుగా "నిమ్మకాయలు" అనే పదం లేకపోయినా చూడటానికి నెగెటివ్ లుక్ఎహెడ్ (?! నిమ్మకాయలు) కుడి వైపున కనిపిస్తుంది. "నిమ్మకాయలు" లేకుంటే, చుక్క ఒక లైన్ బ్రేక్ మినహా ఏదైనా అక్షరానికి సరిపోతుంది. ఎగువ వ్యక్తీకరణ కేవలం ఒక తనిఖీని మాత్రమే చేస్తుంది మరియు * క్వాంటిఫైయర్ దానిని సున్నా లేదా అంతకంటే ఎక్కువ సార్లు పునరావృతం చేస్తుంది, ^ ద్వారా యాంకర్ చేయబడిన స్ట్రింగ్ ప్రారంభం నుండి $ ద్వారా యాంకర్ చేయబడిన స్ట్రింగ్ చివరి వరకు.
టెక్స్ట్ కేస్ను విస్మరించడానికి, మా ఫంక్షన్ కేస్-సెన్సిటివ్గా చేయడానికి మేము 3వ ఆర్గ్యుమెంట్ని FALSEకి సెట్ చేసాము:
=RegExpMatch(A5, $A$2, FALSE)
చిట్కాలు మరియు గమనికలు:
కేస్ ఇన్సెన్సిటివ్ మ్యాచింగ్
క్లాసిక్ రెగ్యులర్ ఎక్స్ప్రెషన్లలో, దీని కోసం ప్రత్యేక నమూనా ఉంది కేస్-ఇన్సెన్సిటివ్ మ్యాచింగ్ (?i), VBA RegExpలో మద్దతు లేదు. ఈ పరిమితిని అధిగమించడానికి, మా అనుకూల ఫంక్షన్ match_case అనే 3వ ఐచ్ఛిక వాదనను అంగీకరిస్తుంది. కేస్-ఇన్సెన్సిటివ్ మ్యాచింగ్ చేయడానికి, దాన్ని తప్పుకు సెట్ చేయండి.
మీరు 1-మార్-22 లేదా 01-MAR-2022 వంటి తేదీలను గుర్తించాలనుకుంటున్నారని అనుకుందాం. dd-mmm-yyyy మరియు d-mmm-yy ఫార్మాట్లను సరిపోల్చడానికి, మేము క్రింది సాధారణ వ్యక్తీకరణను ఉపయోగిస్తున్నాము.
నమూనా : \b\d{1,2}-(జనవరి10-అంకెలు లేదా 100-అంకెల సంఖ్యతో సహా స్ట్రింగ్లో ఎక్కడైనా అంకెలు. మీరు వెతుకుతున్నది ఇది కాకపోతే, సరిహద్దు \b అనే పదాన్ని రెండు వైపులా ఉంచండి.
నమూనా : \b\d{7}\b
=RegExpMatch(A5:A9, "\b\d{7}\b")
ఫోన్ నంబర్లను సరిపోల్చడానికి రీజెక్స్
ఫోన్ నంబర్లను వివిధ ఫార్మాట్లలో వ్రాయవచ్చు కాబట్టి, వాటిని సరిపోల్చడానికి మరింత అధునాతనమైన సాధారణ వ్యక్తీకరణ అవసరం.
క్రింద ఉన్న డేటాసెట్లో, మేము మొదటి 2 సమూహాలలో 3 అంకెలు మరియు చివరి సమూహంలో 4 అంకెలను కలిగి ఉన్న 10-అంకెల సంఖ్యల కోసం శోధిస్తాము. సమూహాలను పిరియడ్, హైఫన్ లేదా స్పేస్తో వేరు చేయవచ్చు. మొదటి సమూహం కుండలీకరణాల్లో చేర్చబడవచ్చు లేదా ఉండకపోవచ్చు.
నమూనా: (\(\d{3}\)