VBA RegEx | VBA ఎక్సెల్ లో రెగ్యులర్ ఎక్స్ప్రెషన్ ఎలా ఉపయోగించాలి? (ఉదాహరణలు)
ఎక్సెల్ VBA లో రెగెక్స్ అంటే ఏమిటి?
రెగెక్స్ అంటే “రెగ్యులర్ వ్యక్తీకరణVBA ఎక్సెల్ లో ”మరియు విలువల స్ట్రింగ్లో అక్షరాల యొక్క నిర్దిష్ట నమూనాను కనుగొనడానికి శోధన నమూనాను నిర్వచించే అక్షరాల క్రమం. ఒక సాధారణ పదంలో “మేము ఒక సాధారణ వ్యక్తీకరణ నమూనాను సృష్టించవచ్చు మరియు ఆ నమూనా యొక్క స్ట్రింగ్ కోసం శోధించడానికి దాన్ని ఉపయోగించవచ్చు”.
VBA రెగెక్స్ ఒక ఆబ్జెక్ట్ మోడల్. వివరణను చూడటం ద్వారా ఇది భయపెడుతుందని నాకు తెలుసు, కాని విషయం ఏమిటంటే వస్తువు యొక్క స్వభావం. మీరు ఇక్కడ గుర్తుంచుకోవలసిన ఒక విషయం ఏమిటంటే VBA RegEx (రెగ్యులర్ ఎక్స్ప్రెషన్) అనేది మా ఇతర టెక్స్ట్ ఫంక్షన్ల “LEFT, RIGHT, MID” వంటి టెక్స్ట్ ఫంక్షన్ ఆబ్జెక్ట్.
ఎక్సెల్ VBA లో RegEx ను ఎలా ప్రారంభించాలి?
నేను VBA రెగెక్స్ మా బాహ్య సాఫ్ట్వేర్ “MS వర్డ్” మరియు “MS పవర్ పాయింట్” మాదిరిగానే VBA లో ఒక ఆబ్జెక్ట్ మోడల్ అని చెప్పాను. అదేవిధంగా, రెగెక్స్ కూడా కాంపోనెంట్ ఆబ్జెక్ట్ మోడల్ (COM), ఇది మేము VBA ఎడిటర్లో సూచించాల్సిన అవసరం ఉంది. RegEx ను ప్రారంభించడానికి, క్రింది దశలను అనుసరించండి.
దశ 1: విజువల్ బేసిక్ ఎడిటర్ (Alt + F11) కి వెళ్ళండి
దశ 2: ఉపకరణాలు మరియు సూచనలకు వెళ్లండి.
దశ 3: ఇప్పుడు మీరు VBA ప్రాజెక్ట్ గురించి సూచనలు చూస్తారు. క్రిందికి స్క్రోల్ చేసి, “మైక్రోసాఫ్ట్ విబిస్క్రిప్ట్ రెగ్యులర్ ఎక్స్ప్రెషన్ 5.5” ఎంచుకోండి
దశ 4: ఇప్పుడు OK పై క్లిక్ చేయండి. మేము ఇప్పుడు ఈ రెగెక్స్ వస్తువును VBA కోడింగ్లో యాక్సెస్ చేయవచ్చు.
ఉదాహరణ - ఇప్పుడు నేను మీకు ఒక సాధారణ ఉదాహరణ చూపిస్తాను. మీకు “సేల్స్ 2019, సేల్స్ 2018 మరియు సేల్స్ 2017” అనే పదాలు ఉన్నాయని అనుకోండి. మీరు నమూనాను [0 - 7] గా నిర్వచించినట్లయితే, ఇది 0 నుండి 7 మధ్య ఉన్న అన్ని సంఖ్యలతో సరిపోతుంది, కాబట్టి మా మ్యాచ్లు ప్రతి స్ట్రింగ్లో 201, 201 మరియు 2017 గా ఉంటాయి.
VBA రెగెక్స్ సరళి
VBA రెగెక్స్ ఫంక్షన్ యొక్క నమూనా భయపెట్టేదిగా కనిపిస్తుంది మరియు నమూనాను అర్థం చేసుకోవడానికి కొంత సమయం పడుతుంది. ఇక్కడ మనం రెండు రకాల అక్షరాల శ్రేణిని చూడవచ్చు, ఒకటి “లిటరల్ క్యారెక్టర్స్” మరియు మరొకటి “మెటాచరాక్టర్స్”.
- సాహిత్య అక్షరాలు అందించిన స్ట్రింగ్ యొక్క ఖచ్చితమైన సరిపోలిక కోసం శోధించండి. ఉదాహరణకు, “EFG” అనే అక్షర అక్షర శ్రేణి అందించిన వచనంలోని “EFG” యొక్క అన్ని సరిపోలికల కోసం చూస్తుంది.
- మెటాచ్రాక్టర్స్ రెగెక్స్ నమూనాలో ఖచ్చితమైన అర్ధంతో అక్షరాల కలయిక తప్ప మరొకటి కాదు. ఇది పూర్తిగా భిన్నమైనది సాహిత్య అక్షరాలు. ఇది కవర్ చేయడానికి చాలా పెద్ద అంశం, క్రింద కొన్ని ముఖ్యమైన వాక్యనిర్మాణాలు ఉన్నాయి.
సింటాక్స్ | వివరణ | ఉదాహరణ | ఉదాహరణ మ్యాచ్ | |||
. | ఇది ఇన్పుట్ స్ట్రింగ్ యొక్క ఏ ఒక్క అక్షరంతో సరిపోతుంది | p.t. | పెంపుడు జంతువు. పాట్, పుట్, సరళి | |||
[] | ఇది ఇన్పుట్ స్ట్రింగ్ యొక్క బ్రాకెట్ మధ్య ఏదైనా అక్షరంతో సరిపోతుంది | [pt] | ఇది p లేదా t తో సరిపోతుంది | |||
[^] | ఇది ఇన్పుట్ స్ట్రింగ్ యొక్క బ్రాకెట్ మధ్య కాకుండా ఏ ఒక్క అక్షరంతో అయినా సరిపోతుంది | [^ pt] | ఇది p లేదా t తో సరిపోలడం లేదు | |||
[మొదటి చివరి] | ఇది బ్రాకెట్లో అందించిన పరిధి మధ్య ఏదైనా అక్షరంతో సరిపోతుంది | [0-9] | ఇది 0 నుండి 9 వరకు ఏదైనా అంకెతో సరిపోతుంది | |||
[a-z] | ఇది a నుండి z వరకు ఏదైనా చిన్న అక్షరాలతో సరిపోతుంది | |||||
[A-Z] | ఇది A నుండి Z వరకు ఏదైనా అప్పర్ కేస్ అక్షరాలతో సరిపోతుంది | |||||
. s | ఇది ఏదైనా వైట్ స్పేస్ అక్షరాలతో సరిపోతుంది | – | స్థలం, క్రొత్త పంక్తి లేదా టాబ్ అక్షరంతో సరిపోతుంది | |||
\ S. | ఇది ఏదైనా నాన్వైట్-స్పేస్ అక్షరాలతో సరిపోతుంది | – | సరిపోలిక అక్షరాలు స్పేస్ కాదు, న్యూ లైన్ కాదు, టాబ్ క్యారెక్టర్ కాదు | |||
\ d | ఇది ఏ ఒక్క అంకె అక్షరంతో సరిపోతుంది | SE 5 VG 6 | 5 మరియు 6 మ్యాచ్లు | |||
\ డి | ఇది ఏ ఒక్క నాన్డిజిట్ అక్షరంతో సరిపోతుంది | SE 5 VG 6 | SEVG తో సరిపోలుతుంది |
రెగెక్స్ ఆబ్జెక్ట్ యొక్క లక్షణాలు మరియు పద్ధతులు
మా అన్ని ఆబ్జెక్ట్ మోడళ్ల మాదిరిగానే రెగెక్స్ కూడా దాని స్వంత లక్షణాలు మరియు పద్ధతులను కలిగి ఉంది. ఇప్పుడు మనం ఒక్కొక్కటిగా వివరంగా చూస్తాము.
VBA రెగెక్స్ ఆబ్జెక్ట్ యొక్క లక్షణాలు
- సరళి: అందించిన స్ట్రింగ్తో సరిపోలడానికి ఇది ఉపయోగించబడుతుంది.
- కేసును విస్మరించండి: ఇది పెద్ద మరియు చిన్న అక్షరాలను విస్మరించడం.
- ప్రపంచ: మీరు అన్ని మ్యాచ్లను నమూనాలో కనుగొనాలనుకుంటే, TRUE అనేది వాదన లేదా లేకపోతే మొదటి మ్యాచ్ కనుగొనబడుతుంది.
- బహుళ-లైన్: మీరు కొత్త పంక్తి విరామాలను కనుగొనాలనుకుంటే మీరు దీన్ని ఉపయోగించవచ్చు.
రెగెక్స్ ఆబ్జెక్ట్ యొక్క పద్ధతులు
- పరీక్ష: అందించిన స్ట్రింగ్లో నమూనాను కనుగొనవచ్చో లేదో పరీక్షించడానికి ఇది. కనుగొనబడితే ఇది నిజం అవుతుంది, లేకపోతే తప్పు.
- అమలు చేయండి: ఇది ఫైండింగ్ స్ట్రింగ్కు వ్యతిరేకంగా నమూనా యొక్క అన్ని మ్యాచ్లను తిరిగి ఇస్తుంది.
- భర్తీ చేయండి: ఇది శోధన స్ట్రింగ్ను కొత్త స్ట్రింగ్తో భర్తీ చేస్తుంది.
VBA ఎక్సెల్ లో RegEx యొక్క ఉదాహరణ
ఇప్పుడు ఈ క్రింది ఉదాహరణ VBA కోడ్ను చూడండి.
మీరు ఈ VBA RegEx Excel మూసను ఇక్కడ డౌన్లోడ్ చేసుకోవచ్చు - VBA RegEx Excel మూసకోడ్:
ఉప RegEx_Example () డిమ్ రెగెక్స్ ఆబ్జెక్ట్ గా, మైస్ట్రింగ్ స్ట్రింగ్ సెట్ రెగెక్స్ = క్రియేట్ఆబ్జెక్ట్ ("VBScript.RegExp") రెగెక్స్ తో .ప్యాటర్న్ = "[0-9] +" మైస్ట్రింగ్ తో ముగించండి = "పుట్టిన సంవత్సరం తేదీ 1985" MsgBox RegEx .టెస్ట్ (MyString) MyString = "పుట్టిన సంవత్సరం తేదీ ???" MsgBox RegEx.Test (MyString) ఎండ్ సబ్
ఫ్రీగులర్
పై కోడ్లో, ఈ సంఖ్యను 0 నుండి 9 వరకు శోధించడానికి మేము నమూనాను సెట్ చేసాము.
RegEx తో .ప్యాటర్న్ = "[0-9] +" తో ముగించండి
అప్పుడు వేరియబుల్ MyString = “పుట్టిన సంవత్సరం 1985” ఇది 0 నుండి 9 వరకు విలువలను కలిగి ఉంటుంది, కాబట్టి మా సందేశ పెట్టె నిజమైనది.
MyString = “పుట్టిన సంవత్సరం తేదీ ???” 0 నుండి 9 వరకు సంఖ్యలు లేవు కాబట్టి సందేశ పెట్టెల ఫలితంగా FALSE తిరిగి వస్తుంది.