రెగ్యులర్ ఎక్స్ప్రెషన్ అనేది టెక్స్ట్ డేటాలోని ఏదైనా ప్రత్యేక స్ట్రింగ్ని మ్యాచ్ చేయడానికి, సెర్చ్ చేయడానికి మరియు రీప్లేస్ చేయడానికి ఉపయోగించే ఒక ప్రత్యేక నమూనా. ఇది ఏదైనా ప్రోగ్రామింగ్ లాంగ్వేజ్ యొక్క శక్తివంతమైన లక్షణం. ఇది ప్రధానంగా ఇమెయిల్ ధృవీకరించడం, ఫోన్ ఫార్మాట్ను తనిఖీ చేయడం, లాగిన్ ఫారమ్ యొక్క వినియోగదారు పేరు మరియు పాస్వర్డ్ ఫీల్డ్లను ధృవీకరించడం వంటి వివిధ రకాల ఫారమ్ ధ్రువీకరణలను నిర్వహించడానికి ఉపయోగించబడుతుంది. నమూనా దీనిని రెగెక్స్ లేదా రెగ్ఎక్స్పి అని కూడా అంటారు. రెగెక్స్ నమూనాను నిర్వచించడానికి వివిధ రకాల చిహ్నాలు ఉపయోగించబడతాయి.
సాధారణ వ్యక్తీకరణ కోసం PHP లో అనేక అంతర్నిర్మిత విధులు ఉన్నాయి. preg_match () ఫంక్షన్ వాటిలో ఒకటి. ఈ ఫంక్షన్ స్ట్రింగ్ డేటాలో నిర్దిష్ట నమూనాను సరిపోల్చడానికి ఉపయోగించబడుతుంది. వివిధ పనులను నిర్వహించడానికి PHP లో preg_match () ఫంక్షన్ను ఎలా ఉపయోగించవచ్చో ఈ ట్యుటోరియల్లో వివరించబడింది.
వాక్యనిర్మాణం:
Int లేదాతప్పుడు preg_match (స్ట్రింగ్$ నమూనా,స్ట్రింగ్$ విషయం [, అమరిక &$ మ్యాచ్లు = శూన్య [,int$ జెండాలు = 0 [,int$ ఆఫ్సెట్ = 0]]])ఈ ఫంక్షన్ ఐదు వాదనలను తీసుకోవచ్చు. మొదటి వాదన, $ నమూనా , తప్పనిసరి, ఇది మ్యాచింగ్ కోసం నమూనాను నిర్వచిస్తుంది. రెండవ వాదన, $ విషయం , తప్పనిసరి, మరియు నమూనా వర్తింపజేయబడే స్ట్రింగ్ డేటాను కలిగి ఉంటుంది. మూడవ వాదన, $ మ్యాచ్లు , ఐచ్ఛికం మరియు ఇది మ్యాచ్ ఆధారంగా ఒక శ్రేణిని అందిస్తుంది. నాల్గవ వాదన, $ జెండాలు , ఐచ్ఛికం, ఇది మ్యాచ్ ఆధారంగా వివిధ రకాల ఫ్లాగ్ విలువలను కలిగి ఉంటుంది. ఐదవ వాదన, $ ఆఫ్సెట్ , ఐచ్ఛికం, మరియు శోధన ప్రారంభ స్థానాన్ని నిర్వచించడానికి ఉపయోగించవచ్చు.
ఉదాహరణ 1: నమూనాను కేస్ సెన్సిటివ్ మరియు కేస్-ఇన్సెన్సిటివ్ పద్ధతిలో సరిపోల్చండి
కింది ఉదాహరణ కేస్ సెన్సిటివ్ మరియు కేస్-ఇన్సెన్సిటివ్ పద్ధతిలో స్ట్రింగ్ని సరిపోల్చడానికి preg_match () ఫంక్షన్ యొక్క ఉపయోగాన్ని చూపుతుంది. కింది స్క్రిప్ట్తో PHP ఫైల్ను సృష్టించండి.
ఇక్కడ, మూడు preg_match () ఫంక్షన్లలో దరఖాస్తు చేయడానికి మూడు నమూనాలు ఉపయోగించబడతాయి. మొదటి నమూనా, '/ఇష్టం/', కేస్ సెన్సిటివ్ మార్గంలో స్ట్రింగ్ని సరిపోల్చడానికి ఉపయోగించబడుతుంది. రెండవ నమూనా, '/ఇష్టం/' , కేస్ సెన్సిటివ్ మార్గంలో స్ట్రింగ్ని సరిపోల్చడానికి ఉపయోగించబడుతుంది. మూడవ నమూనా, 'నాలాగా' , కేస్-సెన్సిటివ్ మార్గంలో స్ట్రింగ్ని సరిపోల్చడానికి ఉపయోగించబడుతుంది. శోధన_ నమూనా () ఫంక్షన్ సరిపోలిక కోసం preg_match () ఫంక్షన్ని ఉపయోగించడానికి స్క్రిప్ట్లో నిర్వచించబడింది మరియు ఈ ఫంక్షన్ యొక్క తిరిగి వచ్చిన విలువ ఆధారంగా ఇది సందేశాన్ని ప్రింట్ చేస్తుంది.
// వచనాన్ని నిర్వచించండి
$ టెక్స్ట్ = 'నాకు PHP అంటే ఇష్టం. నాకు జావాస్క్రిప్ట్ కూడా ఇష్టం. ';
// మూడు రకాల నమూనాను నిర్వచించండి
$ నమూనా 1 = '/ఇష్టం/';
$ నమూనా 2 = '/ఇష్టం/';
$ నమూనా 3 = '/నాలాగా';
// టెక్స్ట్లో నమూనాను శోధించడం కోసం ఫంక్షన్ను నిర్వచించండి
ఫంక్షన్శోధన_ నమూనా($ నమూనా, $ స్ట్రింగ్)
{
ఉంటే( preg_match ($ నమూనా, $ స్ట్రింగ్))
బయటకు విసిరారు 'శోధన ఫలితం: నమూనా కోసం మ్యాచ్ కనుగొనబడింది -$ నమూనా
';
లేకపోతే
బయటకు విసిరారు 'శోధన ఫలితం: నమూనా కోసం మ్యాచ్ కనుగొనబడలేదు -$ నమూనా
';
}
// అసలు వచనాన్ని ముద్రించండి
బయటకు విసిరారు 'అసలు వచనం: $ టెక్స్ట్
';
// మూడు నమూనాల కోసం ఫంక్షన్కు మూడు సార్లు కాల్ చేయండి
శోధన_ నమూనా($ నమూనా 1, $ టెక్స్ట్);
శోధన_ నమూనా($ నమూనా 2, $ టెక్స్ట్);
శోధన_ నమూనా($ నమూనా 3, $ టెక్స్ట్);
?>
అవుట్పుట్ :
సర్వర్ నుండి స్క్రిప్ట్ను అమలు చేసిన తర్వాత కింది అవుట్పుట్ కనిపిస్తుంది. మొదటి పంక్తి నమూనాలను శోధించిన వచనాన్ని చూపుతుంది. రెండవ పంక్తి మొదటి నమూనా యొక్క అవుట్పుట్ను చూపుతుంది. మూడవ పంక్తి రెండవ నమూనా యొక్క అవుట్పుట్ను చూపుతుంది. నాల్గవ పంక్తి మూడవ నమూనా యొక్క అవుట్పుట్ను చూపుతుంది.
ఉదాహరణ 2: URL ని ధృవీకరించండి
కింది ఉదాహరణ preg_match () ఫంక్షన్ ఉపయోగించి URL చిరునామాను ధృవీకరించే మార్గాన్ని చూపుతుంది. కింది స్క్రిప్ట్తో PHP ఫైల్ను సృష్టించండి.
పరీక్ష కోసం ఒక URL విలువ వేరియబుల్ $ url లో కేటాయించబడింది. '@^(?: Https: //)? ([^/]+) @I' స్ట్రింగ్ URL చిరునామా చెల్లుబాటు అవుతుందో లేదో తనిఖీ చేయడానికి preg_match () ఫంక్షన్లో నమూనాగా ఉపయోగించబడుతుంది. అది చెల్లుబాటు అయితే, హోస్ట్ పేరు మరియు డొమైన్ పేరు ముద్రించబడతాయి, లేకుంటే, దోష సందేశం ముద్రించబడుతుంది.
// URL ని నిర్వచించండి
$ url = 'https://www.linuxhint.com';
// URL ధృవీకరించడానికి నమూనాను నిర్వచించండి
$ నమూనా ='@^(?: https: //)? ([^/]+) @i';
// URL చెల్లుబాటు అవుతుందో లేదో తనిఖీ చేయండి
ఉంటే( preg_match ($ నమూనా, $ url, $ మ్యాచ్లు 1))
{
// విజయ సందేశాన్ని ముద్రించండి
బయటకు విసిరారు 'URL చెల్లుబాటు అవుతుంది.
';
// మ్యాచ్ విలువలను కలిగి ఉన్న శ్రేణిని ముద్రించండి
బయటకు విసిరారు 'శ్రేణి విలువలు:';
print_r ($ మ్యాచ్లు 1);
// హోస్ట్ విలువను తిరిగి పొందండి మరియు ముద్రించండి
$ హోస్ట్ = $ మ్యాచ్లు 1[1];
బయటకు విసిరారు '
హోస్ట్ పేరు:$ హోస్ట్';
// హోస్ట్ విలువ నుండి డొమైన్ పేరును శోధించండి
preg_match ('/ .e., $ హోస్ట్, $ మ్యాచ్లు 2);
బయటకు విసిరారు '
డొమైన్ పేరు:{$ match2 [0]}';
}
లేకపోతే
{
// దోష సందేశాన్ని ముద్రించండి
బయటకు విసిరారు 'చెల్లని URL.';
}
?>
అవుట్పుట్ :
సర్వర్ నుండి స్క్రిప్ట్ను అమలు చేసిన తర్వాత కింది అవుట్పుట్ కనిపిస్తుంది. స్క్రిప్ట్లో అందించిన URL చెల్లుబాటు అవుతుంది. కాబట్టి, అవుట్పుట్ $ మ్యాచ్ల విలువలు, URL యొక్క హోస్ట్ పేరు మరియు URL యొక్క డొమైన్ పేరును చూపుతుంది.
ఉదాహరణ 3: ఫ్లాగ్ మరియు ఆఫ్సెట్ విలువలతో నమూనాను శోధించండి
కింది ఉదాహరణ జెండా మరియు ఆఫ్సెట్ విలువలను preg_match () ఫంక్షన్లో చూపుతుంది. కింది స్క్రిప్ట్తో PHP ఫైల్ను సృష్టించండి.
మూడు రకాల మ్యాచింగ్ కోసం మూడు నమూనాలు స్క్రిప్ట్లో ఉపయోగించబడ్డాయి. మొదటి preg_match () ఫంక్షన్లో, ‘/(బంగ్లా) (దేశ్)/’ నమూనాగా మరియు ఫ్లాగ్ విలువగా ఉపయోగించబడుతుంది, PREG_OFFSET_CAPTURE ఉపయోగించబడుతుంది. యొక్క విలువలు $ మ్యాచ్లు వేరియబుల్ మొదటి preg_match () ఫంక్షన్ యొక్క అవుట్పుట్ ఆధారంగా ముద్రించబడుతుంది. రెండవ preg_match () ఫంక్షన్లో, ‘/(బంగ్లా) (సంతోషం)*(desh)/i’, నమూనాగా మరియు ఫ్లాగ్ విలువగా ఉపయోగించబడుతుంది, PREG_UNMATCHED_AS_NULL ఉపయోగించబడుతుంది. నమూనాలోని ఏదైనా భాగం సరిపోలకపోతే, మొత్తం విలువ శ్రేణిలో నిల్వ చేయబడుతుంది. యొక్క విలువలు $ మ్యాచ్లు వేరియబుల్ రెండవ preg_match () ఫంక్షన్ యొక్క అవుట్పుట్ ఆధారంగా ముద్రించబడుతుంది. మూడవ preg_match () ఫంక్షన్లో, '/glad/' నమూనాగా ఉపయోగించబడుతుంది, ఫ్లాగ్ విలువ, PREG_OFFSET_CAPTURE ఉపయోగించబడుతుంది మరియు 3 ఆఫ్సెట్ విలువగా ఉపయోగించబడుతుంది. యొక్క విలువలు $ మ్యాచ్లు వేరియబుల్ మూడవ preg_match () ఫంక్షన్ యొక్క అవుట్పుట్ ఆధారంగా ముద్రించబడుతుంది.
// టెక్స్ట్ విలువను నిర్వచించండి
$ టెక్స్ట్ = 'బంగ్లాదేశ్';
// మూడు రకాల నమూనాలను నిర్వచించండి
$ నమూనా 1 = ' / (బంగ్లా) (దేశ్) / i';
$ నమూనా 2 = ' / (బంగ్లా) (సంతోషం) * (దేశ్) / i';
$ నమూనా 3 = '/సంతోషం/';
// PREG_OFFSET_CAPTURE జెండాను ఉపయోగించడం
preg_match ($ నమూనా 1, $ టెక్స్ట్, $ మ్యాచ్లు,PREG_OFFSET_CAPTURE);
బయటకు విసిరారు '
';
print_r ($matches);
echo '
';
// PREG_UNMATCHED_AS_NULL జెండాను ఉపయోగించడం
preg_match ($ నమూనా 2, $ టెక్స్ట్, $ మ్యాచ్లు,PREG_UNMATCHED_AS_NULL);
బయటకు విసిరారు '
';
print_r ($matches);
echo '
';
// PREG_OFFSET_CAPTURE ఫ్లాగ్ మరియు ఆఫ్సెట్ విలువను ఉపయోగించడం
preg_match ($ నమూనా 3, $ టెక్స్ట్, $ మ్యాచ్లు,PREG_OFFSET_CAPTURE, 3);
బయటకు విసిరారు '
';
print_r ($matches);
echo '';
?>
అవుట్పుట్ :
సర్వర్ నుండి స్క్రిప్ట్ను అమలు చేసిన తర్వాత కింది అవుట్పుట్ కనిపిస్తుంది.
ముగింపు
బహుళ ఉదాహరణలను ఉపయోగించి ఈ ట్యుటోరియల్లో preg_match () ఫంక్షన్ యొక్క ఉపయోగాలు వివరించబడ్డాయి. ఈ ఫంక్షన్ యొక్క విభిన్న వాదనల ఉపయోగాలు కూడా ఇక్కడ చూపబడ్డాయి. ఈ ట్యుటోరియల్ చదివిన తర్వాత పాఠకులు ఈ ఫంక్షన్ను వారి స్క్రిప్ట్లో సరిగ్గా ఉపయోగించగలరు.