విషయ సూచిక
ఎక్సెల్లో టెక్స్ట్తో పనిచేసేటప్పుడు ఎక్కువ సమయం తీసుకునే మరియు నిరాశపరిచే పనులలో ఒకటి అన్వయించడం - ఆల్ఫాన్యూమరిక్ "గంజి"ని భాగాలుగా అన్వయించడం మరియు దాని నుండి మనకు అవసరమైన శకలాలు సేకరించడం. ఉదాహరణకి:
- చిరునామా నుండి జిప్ కోడ్ను సంగ్రహించడం (పిన్ కోడ్ ఎల్లప్పుడూ ప్రారంభంలో ఉంటే మంచిది, కానీ అది కాకపోతే ఏమి చేయాలి?)
- బ్యాంక్ స్టేట్మెంట్లో చెల్లింపు వివరణ నుండి ఇన్వాయిస్ సంఖ్య మరియు తేదీని కనుగొనడం
- కౌంటర్పార్టీల జాబితాలోని కంపెనీల మాట్లీ వివరణల నుండి TIN యొక్క వెలికితీత
- వివరణలో కారు నంబర్ లేదా కథనం నంబర్ కోసం శోధించండి.
సాధారణంగా ఇటువంటి సందర్భాల్లో, మాన్యువల్గా టెక్స్ట్లో అరగంట నిరుత్సాహంగా తయారైన తర్వాత, ఈ ప్రక్రియను ఆటోమేట్ చేయడానికి (ముఖ్యంగా చాలా డేటా ఉంటే) ఆలోచనలు ఎలాగో గుర్తుకు వస్తాయి. అనేక పరిష్కారాలు మరియు సంక్లిష్టత-సామర్థ్యం యొక్క వివిధ స్థాయిలలో ఉన్నాయి:
- ఉపయోగించండి అంతర్నిర్మిత Excel టెక్స్ట్ ఫంక్షన్లు టెక్స్ట్-కట్-గ్లూ టెక్స్ట్ని శోధించడానికి: LEVSIMV (ఎడమ), RIGHT (హక్కు), PSTR (మధ్య), STSEPIT (కన్కాటెనేట్) మరియు దాని అనలాగ్లు, కలపండి (JOINTEXT), ఖచ్చితమైనది (ఖచ్చితమైన) మొదలైనవి. టెక్స్ట్లో స్పష్టమైన తర్కం ఉంటే ఈ పద్ధతి మంచిది (ఉదాహరణకు, సూచిక ఎల్లప్పుడూ చిరునామా ప్రారంభంలో ఉంటుంది). లేకపోతే, సూత్రాలు చాలా క్లిష్టంగా మారతాయి మరియు కొన్నిసార్లు, ఇది శ్రేణి సూత్రాలకు కూడా వస్తుంది, ఇది పెద్ద పట్టికలలో బాగా నెమ్మదిస్తుంది.
- ఉపయోగించి టెక్స్ట్ సారూప్యత ఆపరేటర్ లాగా కస్టమ్ మాక్రో ఫంక్షన్తో చుట్టబడిన విజువల్ బేసిక్ నుండి. వైల్డ్కార్డ్ అక్షరాలను (*, #,?, మొదలైనవి) ఉపయోగించి మరింత సౌకర్యవంతమైన శోధనను అమలు చేయడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది దురదృష్టవశాత్తూ, ఈ సాధనం టెక్స్ట్ నుండి కావలసిన సబ్స్ట్రింగ్ను సంగ్రహించదు - అది దానిలో ఉందో లేదో మాత్రమే తనిఖీ చేయండి.
పైన పేర్కొన్న వాటికి అదనంగా, ప్రొఫెషనల్ ప్రోగ్రామర్లు, వెబ్ డెవలపర్లు మరియు ఇతర సాంకేతిక నిపుణుల ఇరుకైన సర్కిల్లలో బాగా తెలిసిన మరొక విధానం ఉంది - ఇది సాధారణ వ్యక్తీకరణలు (రెగ్యులర్ ఎక్స్ప్రెషన్స్ = RegExp = "regexps" = "రెగ్యులర్స్"). సరళంగా చెప్పాలంటే, RegExp అనేది టెక్స్ట్లో అవసరమైన సబ్స్ట్రింగ్ల కోసం శోధించడానికి, వాటిని సంగ్రహించడానికి లేదా వాటిని ఇతర టెక్స్ట్తో భర్తీ చేయడానికి ప్రత్యేక అక్షరాలు మరియు నియమాలను ఉపయోగించే భాష.. రెగ్యులర్ ఎక్స్ప్రెషన్లు చాలా శక్తివంతమైన మరియు అందమైన సాధనం, ఇది పరిమాణం యొక్క క్రమం ద్వారా టెక్స్ట్తో పని చేసే అన్ని ఇతర మార్గాలను అధిగమిస్తుంది. అనేక ప్రోగ్రామింగ్ భాషలు (C#, PHP, Perl, JavaScript...) మరియు టెక్స్ట్ ఎడిటర్లు (Word, Notepad++...) సాధారణ వ్యక్తీకరణలకు మద్దతు ఇస్తాయి.
Microsoft Excel దురదృష్టవశాత్తూ RegExp మద్దతును కలిగి లేదు, కానీ దీనిని VBAతో సులభంగా పరిష్కరించవచ్చు. ట్యాబ్ నుండి విజువల్ బేసిక్ ఎడిటర్ను తెరవండి డెవలపర్ (డెవలపర్) లేదా కీబోర్డ్ సత్వరమార్గం alt+F11. అప్పుడు మెను ద్వారా కొత్త మాడ్యూల్ను చొప్పించండి చొప్పించు - మాడ్యూల్ మరియు క్రింది స్థూల ఫంక్షన్ యొక్క వచనాన్ని అక్కడ కాపీ చేయండి:
పబ్లిక్ ఫంక్షన్ RegExpExtract(వచనం స్ట్రింగ్గా, స్ట్రింగ్గా సరళి, ఐచ్ఛిక అంశం పూర్ణాంకం వలె = 1) స్ట్రింగ్లో లోపం GoTo ErrHandl సెట్ regex = CreateObject("VBScript.RegExp") regex.Pattern = సరళి = True.Glogex.T ఉంటే. (టెక్స్ట్) ఆపై మ్యాచ్లను సెట్ చేయండి = regex.Execute(Text) RegExpExtract = matches.Item(ఐటెమ్ - 1) ErrHandl అయితే నిష్క్రమించు ఫంక్షన్ ముగింపు: RegExpExtract = CVErr(xlErrValue) ముగింపు ఫంక్షన్
మేము ఇప్పుడు విజువల్ బేసిక్ ఎడిటర్ను మూసివేసి, ఎక్సెల్కి తిరిగి వచ్చి మా కొత్త ఫీచర్ని ప్రయత్నించవచ్చు. దీని వాక్యనిర్మాణం క్రింది విధంగా ఉంది:
=RegExpExtract( Txt ; నమూనా ; అంశం )
(ఇక్కడ
- టిఎక్స్ టి – మేము తనిఖీ చేస్తున్న టెక్స్ట్తో కూడిన సెల్ మరియు దాని నుండి మనకు అవసరమైన సబ్స్ట్రింగ్ను సంగ్రహించాలనుకుంటున్నాము
- నమూనా - సబ్స్ట్రింగ్ శోధన కోసం ముసుగు (నమూనా).
- <span style="font-family: Mandali; "> అంశం - సంగ్రహించవలసిన సబ్స్ట్రింగ్ యొక్క సీక్వెన్స్ నంబర్, వాటిలో చాలా ఉంటే (పేర్కొనకపోతే, మొదటి సంభవం ప్రదర్శించబడుతుంది)
ఇక్కడ అత్యంత ఆసక్తికరమైన విషయం ఏమిటంటే, నమూనా - RegExp యొక్క "భాషలో" ప్రత్యేక అక్షరాల యొక్క టెంప్లేట్ స్ట్రింగ్, ఇది మనం సరిగ్గా మరియు ఎక్కడ కనుగొనాలనుకుంటున్నామో నిర్దేశిస్తుంది. మీరు ప్రారంభించడానికి అత్యంత ప్రాథమికమైనవి ఇక్కడ ఉన్నాయి:
సరళి | <span style="font-family: Mandali; "> టెండర్ వివరణ</span> |
. | సరళమైనది ఒక చుక్క. ఇది పేర్కొన్న స్థానం వద్ద నమూనాలోని ఏదైనా అక్షరంతో సరిపోలుతుంది. |
s | ఖాళీగా కనిపించే ఏదైనా అక్షరం (స్పేస్, ట్యాబ్ లేదా లైన్ బ్రేక్). |
S | మునుపటి నమూనా యొక్క యాంటీ-వేరియంట్, అంటే ఏదైనా నాన్-వైట్స్పేస్ క్యారెక్టర్. |
d | ఏదైనా సంఖ్య |
D | మునుపటి దాని యొక్క యాంటీ-వేరియంట్, అంటే ఏదైనా కాదు అంకె |
w | ఏదైనా లాటిన్ అక్షరం (AZ), అంకె లేదా అండర్ స్కోర్ |
W | మునుపటి దాని యొక్క యాంటీ-వేరియంట్, అంటే లాటిన్ కాదు, సంఖ్య కాదు మరియు అండర్ స్కోర్ కాదు. |
[అక్షరాలు] | స్క్వేర్ బ్రాకెట్లలో, మీరు టెక్స్ట్లో పేర్కొన్న స్థానం వద్ద అనుమతించబడిన ఒకటి లేదా అంతకంటే ఎక్కువ అక్షరాలను పేర్కొనవచ్చు. ఉదాహరణకి ఆర్ట్ ఏదైనా పదంతో సరిపోలుతుంది: పట్టిక or కుర్చీ. మీరు అక్షరాలను కూడా లెక్కించలేరు, కానీ వాటిని హైఫన్ ద్వారా వేరు చేయబడిన పరిధిగా సెట్ చేయండి, అనగా బదులుగా [ABDCDEF] వ్రాయడానికి [AF]. లేదా బదులుగా [4567] పరిచయం [-4 7]. ఉదాహరణకు, అన్ని సిరిలిక్ అక్షరాలను నియమించడానికి, మీరు టెంప్లేట్ను ఉపయోగించవచ్చు [a-yaA-YayoYo]. |
[^అక్షరాలు] | స్క్వేర్ బ్రాకెట్ ప్రారంభమైన తర్వాత "మూత" చిహ్నాన్ని జోడించండి ^, అప్పుడు సెట్ వ్యతిరేక అర్థాన్ని పొందుతుంది - టెక్స్ట్లో పేర్కొన్న స్థానం వద్ద, జాబితా చేయబడినవి మినహా అన్ని అక్షరాలు అనుమతించబడతాయి. అవును, టెంప్లేట్ [^ЖМ]ut కనిపెడతా మార్గం or పదార్థ or మర్చిపో, కాని కాదు స్కేరీ or మ్యూట్, ఉదా. |
| | బూలియన్ ఆపరేటర్ OR (OR) పేర్కొన్న ప్రమాణాలలో దేనినైనా తనిఖీ చేయడానికి. ఉదాహరణకి (తోగురు|కూడా|ఇన్వాయిస్) పేర్కొన్న ఏదైనా పదాల కోసం వచనాన్ని శోధిస్తుంది. సాధారణంగా, ఎంపికల సమితి కుండలీకరణాల్లో జతచేయబడుతుంది. |
^ | లైన్ ప్రారంభం |
$ | లైన్ ముగింపు |
b | పదం ముగింపు |
మేము నిర్దిష్ట సంఖ్యలో అక్షరాల కోసం చూస్తున్నట్లయితే, ఉదాహరణకు, ఆరు-అంకెల పోస్టల్ కోడ్ లేదా అన్ని మూడు-అక్షరాల ఉత్పత్తి కోడ్లు, అప్పుడు మేము రక్షించడానికి వస్తాము క్వాంటిఫైయర్స్ or క్వాంటిఫైయర్స్ శోధించవలసిన అక్షరాల సంఖ్యను పేర్కొనే ప్రత్యేక వ్యక్తీకరణలు. దాని ముందు వచ్చే అక్షరానికి క్వాంటిఫైయర్లు వర్తించబడతాయి:
క్వాంటర్ | <span style="font-family: Mandali; "> టెండర్ వివరణ</span> |
? | సున్నా లేదా ఒక సంఘటన. ఉదాహరణకి .? ఏదైనా ఒక పాత్ర లేదా దాని లేకపోవడం అని అర్థం. |
+ | ఒకటి లేదా అంతకంటే ఎక్కువ ఎంట్రీలు. ఉదాహరణకి d+ అంటే ఏదైనా సంఖ్యల సంఖ్య (అంటే 0 మరియు అనంతం మధ్య ఏదైనా సంఖ్య). |
* | సున్నా లేదా అంతకంటే ఎక్కువ సంఘటనలు, అంటే ఏదైనా పరిమాణం. కాబట్టి s* అంటే ఎన్ని ఖాళీలు లేదా ఖాళీలు లేవు. |
{సంఖ్య} or {సంఖ్య 1,సంఖ్య 2} | మీరు ఖచ్చితంగా నిర్వచించబడిన సంఘటనల సంఖ్యను పేర్కొనవలసి వస్తే, అది కర్లీ జంట కలుపులలో పేర్కొనబడుతుంది. ఉదాహరణకి d{6} అంటే ఖచ్చితంగా ఆరు అంకెలు మరియు నమూనా సె{2,5} - రెండు నుండి ఐదు ఖాళీలు |
ఇప్పుడు అత్యంత ఆసక్తికరమైన భాగానికి వెళ్దాం - సృష్టించిన ఫంక్షన్ యొక్క అప్లికేషన్ యొక్క విశ్లేషణ మరియు జీవితం నుండి ఆచరణాత్మక ఉదాహరణల నమూనాల గురించి మనం నేర్చుకున్నది.
వచనం నుండి సంఖ్యలను సంగ్రహించడం
ప్రారంభించడానికి, ఒక సాధారణ కేసును విశ్లేషిద్దాం - మీరు ఆల్ఫాన్యూమరిక్ గంజి నుండి మొదటి సంఖ్యను సేకరించాలి, ఉదాహరణకు, ధర జాబితా నుండి నిరంతరాయ విద్యుత్ సరఫరాల శక్తి:
సాధారణ వ్యక్తీకరణ వెనుక లాజిక్ చాలా సులభం: d అంటే ఏదైనా అంకె, మరియు క్వాంటిఫైయర్ + వారి సంఖ్య ఒకటి లేదా అంతకంటే ఎక్కువ ఉండాలి అని చెప్పింది. "ఆన్ ది ఫ్లై" సంగ్రహించబడిన అక్షరాలను సంఖ్య-వచనం నుండి పూర్తి సంఖ్యగా మార్చడానికి ఫంక్షన్ ముందు డబుల్ మైనస్ అవసరం.
జిప్ కోడ్
మొదటి చూపులో, ఇక్కడ ప్రతిదీ చాలా సులభం - మేము వరుసగా ఆరు అంకెలు కోసం చూస్తున్నాము. మేము ఒక ప్రత్యేక అక్షరాన్ని ఉపయోగిస్తాము d అంకెల మరియు క్వాంటిఫైయర్ కోసం 6 {} అక్షరాల సంఖ్య కోసం:
అయితే, లైన్లో ఇండెక్స్కు ఎడమ వైపున, వరుసలో మరొక పెద్ద సంఖ్యలు (ఫోన్ నంబర్, TIN, బ్యాంక్ ఖాతా మొదలైనవి) ఉన్నప్పుడు పరిస్థితి సాధ్యమవుతుంది, ఆపై మా సాధారణ సీజన్ మొదటి 6ని తీసివేస్తుంది. దాని నుండి అంకెలు, అంటే సరిగ్గా పని చేయవు:
ఇది జరగకుండా నిరోధించడానికి, మేము మా సాధారణ వ్యక్తీకరణ అంచుల చుట్టూ మాడిఫైయర్ను జోడించాలి b ఒక పదం ముగింపును సూచిస్తుంది. ఇది మనకు అవసరమైన శకలం (సూచిక) ప్రత్యేక పదంగా ఉండాలని మరియు మరొక భాగం (ఫోన్ నంబర్)లో భాగం కాదని ఇది Excelకి స్పష్టం చేస్తుంది:
ఫోన్
టెక్స్ట్లో ఫోన్ నంబర్ను కనుగొనడంలో సమస్య ఏమిటంటే - హైఫన్లతో మరియు లేకుండా, స్పేస్ల ద్వారా, బ్రాకెట్లలో రీజియన్ కోడ్తో లేదా లేకుండా, మొదలైనవి వ్రాయడానికి చాలా ఎంపికలు ఉన్నాయి. కాబట్టి, నా అభిప్రాయం ప్రకారం, ఇది సులభం ముందుగా అనేక సమూహ ఫంక్షన్లను ఉపయోగించి సోర్స్ టెక్స్ట్ నుండి ఈ అక్షరాలన్నింటినీ శుభ్రం చేయండి సబ్స్టిట్యూట్ (సబ్స్టిట్యూట్)తద్వారా అది ఒకే మొత్తానికి, ఆపై ఒక ఆదిమ రెగ్యులర్తో కలిసి ఉంటుంది d{11} వరుసగా 11 అంకెలను లాగండి:
ఐటిఎన్
ఇక్కడ ఇది కొంచెం క్లిష్టంగా ఉంది, ఎందుకంటే TIN (మన దేశంలో) 10-అంకెలు (చట్టపరమైన సంస్థల కోసం) లేదా 12-అంకెలు (వ్యక్తుల కోసం) కావచ్చు. మీరు ప్రత్యేకంగా తప్పును కనుగొనలేకపోతే, రెగ్యులర్తో సంతృప్తి చెందడం చాలా సాధ్యమే d{10,12}, కానీ, ఖచ్చితంగా చెప్పాలంటే, ఇది 10 నుండి 12 అక్షరాల వరకు అన్ని సంఖ్యలను బయటకు తీస్తుంది, అనగా మరియు తప్పుగా 11 అంకెలు నమోదు చేయబడింది. లాజికల్ OR ఆపరేటర్ ద్వారా కనెక్ట్ చేయబడిన రెండు నమూనాలను ఉపయోగించడం మరింత సరైనది | (నిలువు పట్టీ):
దయచేసి ప్రశ్నలో మేము మొదట 12-బిట్ సంఖ్యల కోసం చూస్తాము మరియు తర్వాత మాత్రమే 10-బిట్ సంఖ్యల కోసం చూస్తాము. మన రెగ్యులర్ ఎక్స్ప్రెషన్ని వేరే విధంగా వ్రాస్తే, అది ప్రతి ఒక్కరికీ, పొడవాటి 12-బిట్ టిన్లు అయినా, మొదటి 10 అక్షరాలను మాత్రమే లాగుతుంది. అంటే, మొదటి షరతు ప్రారంభించబడిన తర్వాత, తదుపరి ధృవీకరణ ఇకపై నిర్వహించబడదు:
ఇది ఆపరేటర్ల మధ్య ఉన్న ప్రాథమిక వ్యత్యాసం | ప్రామాణిక ఎక్సెల్ లాజిక్ ఫంక్షన్ నుండి OR (OR), ఆర్గ్యుమెంట్లను మళ్లీ అమర్చడం వల్ల ఫలితం మారదు.
ఉత్పత్తి SKU లు
అనేక కంపెనీలలో, ప్రత్యేకమైన ఐడెంటిఫైయర్లు వస్తువులు మరియు సేవలకు కేటాయించబడతాయి - కథనాలు, SAP కోడ్లు, SKUలు మొదలైనవి. వాటి సంజ్ఞామానంలో లాజిక్ ఉంటే, సాధారణ వ్యక్తీకరణలను ఉపయోగించి ఏదైనా టెక్స్ట్ నుండి వాటిని సులభంగా తీసివేయవచ్చు. ఉదాహరణకు, మా కథనాలు ఎల్లప్పుడూ మూడు పెద్ద ఆంగ్ల అక్షరాలు, హైఫన్ మరియు తదుపరి మూడు అంకెల సంఖ్యను కలిగి ఉంటాయని మనకు తెలిస్తే, అప్పుడు:
టెంప్లేట్ వెనుక ఉన్న తర్కం చాలా సులభం. [AZ] - అంటే లాటిన్ వర్ణమాల యొక్క ఏదైనా పెద్ద అక్షరాలు. తదుపరి క్వాంటిఫైయర్ 3 {} సరిగ్గా అలాంటి మూడు అక్షరాలు ఉండటం మాకు ముఖ్యం అని చెప్పారు. హైఫన్ తర్వాత, మేము మూడు అంకెలు కోసం వేచి ఉన్నాము, కాబట్టి మేము చివరిలో జోడిస్తాము d{3}
నగదు మొత్తాలు
మునుపటి పేరా మాదిరిగానే, మీరు వస్తువుల వివరణ నుండి ధరలను (ఖర్చులు, VAT ...) కూడా తీసివేయవచ్చు. ద్రవ్య మొత్తాలు, ఉదాహరణకు, హైఫన్తో సూచించబడితే, అప్పుడు:
సరళి d క్వాంటిఫైయర్తో + హైఫన్ వరకు ఏదైనా సంఖ్య కోసం శోధిస్తుంది మరియు d{2} తర్వాత పెన్నీలు (రెండు అంకెలు) కోసం చూస్తారు.
మీరు ధరలను కాకుండా VATని సంగ్రహించవలసి వస్తే, మీరు మా RegExpExtract ఫంక్షన్ యొక్క మూడవ ఐచ్ఛిక ఆర్గ్యుమెంట్ని ఉపయోగించవచ్చు, ఇది సంగ్రహించవలసిన మూలకం యొక్క ఆర్డినల్ సంఖ్యను నిర్దేశిస్తుంది. మరియు, వాస్తవానికి, మీరు ఫంక్షన్ భర్తీ చేయవచ్చు సబ్స్టిట్యూట్ (సబ్స్టిట్యూట్) ఫలితాలలో, స్టాండర్డ్ డెసిమల్ సెపరేటర్కు హైఫన్ చేయండి మరియు ప్రారంభంలో డబుల్ మైనస్ను జోడించండి, తద్వారా Excel కనుగొన్న VATని సాధారణ సంఖ్యగా అర్థం చేసుకుంటుంది:
కార్ ప్లేట్ నంబర్లు
If you do not take special vehicles, trailers and other motorcycles, then the standard car number is parsed according to the principle “letter – three numbers – two letters – region code”. Moreover, the region code can be 2- or 3-digit, and only those that are similar in appearance to the Latin alphabet are used as letters. Thus, the following regular expression will help us to extract numbers from the text:
సమయం
HH:MM ఆకృతిలో సమయాన్ని సంగ్రహించడానికి, క్రింది సాధారణ వ్యక్తీకరణ అనుకూలంగా ఉంటుంది:
పెద్దప్రేగు భాగం తరువాత [0-5]డి, గుర్తించడం సులభం కనుక, 00-59 పరిధిలో ఏదైనా సంఖ్యను సెట్ చేస్తుంది. కుండలీకరణాల్లో పెద్దప్రేగు ముందు, లాజికల్ OR (పైపు) ద్వారా వేరు చేయబడిన రెండు నమూనాలు పని చేస్తాయి:
- [0-1]డి - 00-19 పరిధిలోని ఏదైనా సంఖ్య
- 2[0-3] - 20-23 పరిధిలోని ఏదైనా సంఖ్య
పొందిన ఫలితానికి, మీరు అదనంగా ప్రామాణిక Excel ఫంక్షన్ను వర్తింపజేయవచ్చు TIME (జట్టు)ప్రోగ్రామ్కు అర్థమయ్యేలా మరియు తదుపరి గణనలకు అనుకూలమైన సమయ ఆకృతిలోకి మార్చడానికి.
పాస్వర్డ్ తనిఖీ
ఖచ్చితత్వం కోసం వినియోగదారులు కనుగొన్న పాస్వర్డ్ల జాబితాను మనం తనిఖీ చేయవలసి ఉందని అనుకుందాం. మా నిబంధనల ప్రకారం, పాస్వర్డ్లు ఆంగ్ల అక్షరాలు (చిన్న లేదా పెద్ద అక్షరం) మరియు సంఖ్యలను మాత్రమే కలిగి ఉండాలి. ఖాళీలు, అండర్స్కోర్లు మరియు ఇతర విరామ చిహ్నాలు అనుమతించబడవు.
కింది సాధారణ సాధారణ వ్యక్తీకరణను ఉపయోగించి తనిఖీని నిర్వహించవచ్చు:
వాస్తవానికి, అటువంటి నమూనాతో మనకు ప్రారంభం మధ్య (^) మరియు ముగింపు ($) మా వచనంలో చదరపు బ్రాకెట్లలో ఇవ్వబడిన సెట్ నుండి అక్షరాలు మాత్రమే ఉన్నాయి. మీరు పాస్వర్డ్ పొడవును కూడా తనిఖీ చేయవలసి వస్తే (ఉదాహరణకు, కనీసం 6 అక్షరాలు), అప్పుడు క్వాంటిఫైయర్ + రూపంలో "ఆరు లేదా అంతకంటే ఎక్కువ" విరామంతో భర్తీ చేయవచ్చు {6,}:
చిరునామా నుండి నగరం
మేము అడ్రస్ బార్ నుండి నగరాన్ని లాగాలని అనుకుందాం. సాధారణ ప్రోగ్రామ్ "g" నుండి వచనాన్ని సంగ్రహించడంలో సహాయపడుతుంది. తదుపరి కామాకు:
ఈ నమూనాను నిశితంగా పరిశీలిద్దాం.
మీరు పై వచనాన్ని చదివి ఉంటే, సాధారణ వ్యక్తీకరణలలోని కొన్ని అక్షరాలు (కాలాలు, ఆస్టరిస్క్లు, డాలర్ గుర్తులు మొదలైనవి) ప్రత్యేక అర్ధాన్ని కలిగి ఉన్నాయని మీరు ఇప్పటికే అర్థం చేసుకున్నారు. మీరు ఈ క్యారెక్టర్ల కోసం వెతకాల్సిన అవసరం ఉన్నట్లయితే, వాటికి ముందు బ్యాక్స్లాష్ ఉంటుంది (కొన్నిసార్లు అంటారు షీల్డింగ్) కాబట్టి, "g" అనే భాగాన్ని శోధిస్తున్నప్పుడు. మనం రెగ్యులర్ ఎక్స్ప్రెషన్లో రాయాలి శ్రీ. మేము ప్లస్ కోసం చూస్తున్నట్లయితే, అప్పుడు + మొదలైనవి
మా టెంప్లేట్లోని తదుపరి రెండు అక్షరాలు, డాట్ మరియు క్వాంటిఫైయర్ ఆస్టరిస్క్, ఏవైనా అక్షరాలు ఎన్ని ఉన్నాయో అంటే ఏదైనా నగరం పేరుని సూచిస్తాయి.
టెంప్లేట్ చివరిలో కామా ఉంది, ఎందుకంటే మేము "g" నుండి వచనం కోసం చూస్తున్నాము. కామాకు. కానీ టెక్స్ట్లో అనేక కామాలు ఉండవచ్చు, సరియైనదా? నగరం తర్వాత మాత్రమే కాదు, వీధి, ఇళ్ళు మొదలైన వాటిలో మన అభ్యర్థన ఏది ఆగిపోతుంది? అన్నది ప్రశ్నార్థకం. అది లేకుండా, మా సాధారణ వ్యక్తీకరణ సాధ్యమైనంత పొడవైన స్ట్రింగ్ను బయటకు తీస్తుంది:
సాధారణ వ్యక్తీకరణల పరంగా, అటువంటి నమూనా "అత్యాశ". పరిస్థితిని సరిచేయడానికి, క్వశ్చన్ మార్క్ అవసరం - ఇది క్వాంటిఫైయర్ను "గట్టిగా" చేస్తుంది - మరియు మా ప్రశ్న వచనాన్ని "g" తర్వాత మొదటి కౌంటర్ కామా వరకు మాత్రమే తీసుకుంటుంది:
పూర్తి మార్గం నుండి ఫైల్ పేరు
పూర్తి మార్గం నుండి ఫైల్ పేరును సంగ్రహించడం మరొక సాధారణ పరిస్థితి. ఫారమ్ యొక్క సాధారణ సాధారణ వ్యక్తీకరణ ఇక్కడ సహాయపడుతుంది:
ఇక్కడ ఉపాయం ఏమిటంటే, శోధన వాస్తవానికి వ్యతిరేక దిశలో జరుగుతుంది - ముగింపు నుండి ప్రారంభం వరకు, ఎందుకంటే మా టెంప్లేట్ చివరిలో $, మరియు మేము దాని ముందు కుడివైపు నుండి మొదటి బ్యాక్స్లాష్ వరకు ప్రతిదాని కోసం చూస్తున్నాము. మునుపటి ఉదాహరణలోని చుక్క వలె బ్యాక్స్లాష్ తప్పించుకుంది.
PS
"చివరికి" నేను పైన పేర్కొన్నవన్నీ సాధారణ వ్యక్తీకరణలు అందించే అన్ని అవకాశాలలో చిన్న భాగమని స్పష్టం చేయాలనుకుంటున్నాను. వాటి ఉపయోగం కోసం చాలా ప్రత్యేక అక్షరాలు మరియు నియమాలు ఉన్నాయి మరియు మొత్తం పుస్తకాలు ఈ అంశంపై వ్రాయబడ్డాయి (నేను కనీసం దీన్ని ప్రారంభించాలని సిఫార్సు చేస్తున్నాను). ఒక రకంగా చెప్పాలంటే రెగ్యులర్ ఎక్స్ప్రెషన్స్ రాయడం దాదాపు ఒక కళ. దాదాపు ఎల్లప్పుడూ, కనిపెట్టబడిన సాధారణ వ్యక్తీకరణ మెరుగుపరచబడుతుంది లేదా అనుబంధంగా ఉంటుంది, ఇది మరింత సొగసైనదిగా లేదా విస్తృతమైన ఇన్పుట్ డేటాతో పని చేయగలదు.
ఇతరుల సాధారణ వ్యక్తీకరణలను విశ్లేషించడానికి మరియు అన్వయించడానికి లేదా మీ స్వంతంగా డీబగ్ చేయడానికి, అనేక అనుకూలమైన ఆన్లైన్ సేవలు ఉన్నాయి: RegEx101, RegExr ఇంకా చాలా
దురదృష్టవశాత్తూ, క్లాసిక్ రెగ్యులర్ ఎక్స్ప్రెషన్ల యొక్క అన్ని లక్షణాలు VBAలో మద్దతు ఇవ్వవు (ఉదాహరణకు, రివర్స్ సెర్చ్ లేదా POSIX తరగతులు) మరియు సిరిలిక్తో పని చేయగలవు, అయితే మిమ్మల్ని మెప్పించడానికి మొదటిసారిగా ఉన్నవి సరిపోతాయని నేను భావిస్తున్నాను.
మీరు అంశానికి కొత్త కానట్లయితే మరియు మీరు భాగస్వామ్యం చేయడానికి ఏదైనా కలిగి ఉంటే, దిగువ వ్యాఖ్యలలో Excelలో పని చేస్తున్నప్పుడు ఉపయోగకరమైన సాధారణ వ్యక్తీకరణలను వదిలివేయండి. ఒక మనస్సు మంచిది, కానీ రెండు బూట్లు ఒక జత!
- SUBSTITUTE ఫంక్షన్తో వచనాన్ని భర్తీ చేయడం మరియు శుభ్రపరచడం
- Search and highlighting of Latin characters in text
- సమీపంలోని సారూప్య వచనం కోసం శోధించండి (ఇవనోవ్ = ఇవనోవ్ = ఇవనోఫ్, మొదలైనవి)