रेगुलर एक्सप्रेशन एक विशेष पैटर्न है जिसका उपयोग टेक्स्ट डेटा में किसी विशेष स्ट्रिंग से मिलान करने, खोजने और बदलने के लिए किया जा सकता है। यह किसी भी प्रोग्रामिंग भाषा की एक शक्तिशाली विशेषता है। यह मुख्य रूप से विभिन्न प्रकार के फॉर्म सत्यापन करने के लिए उपयोग किया जाता है, जैसे ईमेल को मान्य करना, फोन प्रारूप की जांच करना, लॉगिन फॉर्म के उपयोगकर्ता नाम और पासवर्ड फ़ील्ड को मान्य करना आदि। टेक्स्ट की किसी भी विशेष सामग्री को नियमित अभिव्यक्ति का उपयोग करके खोजा और बदला जा सकता है पैटर्न। इसे रेगेक्स या रेगेक्सपी भी कहा जाता है। रेगेक्स पैटर्न को परिभाषित करने के लिए विभिन्न प्रकार के प्रतीकों का उपयोग किया जाता है।
नियमित अभिव्यक्ति के लिए PHP में कई अंतर्निहित कार्य मौजूद हैं। preg_match() फ़ंक्शन उनमें से एक है। इस फ़ंक्शन का उपयोग स्ट्रिंग डेटा में किसी विशेष पैटर्न के मिलान के लिए किया जाता है। विभिन्न कार्यों को करने के लिए PHP में preg_match () फ़ंक्शन का उपयोग कैसे किया जा सकता है, इस ट्यूटोरियल में समझाया गया है।
वाक्य - विन्यास:
इंट याझूठा preg_match (डोरी$पैटर्न,डोरी$विषय [, सरणी और$मैचों = शून्य [,NS$झंडे = 0 [,NS$ऑफ़सेट = 0]]])यह फ़ंक्शन पाँच तर्क ले सकता है। पहला तर्क, $पैटर्न , अनिवार्य है, जो मिलान के पैटर्न को परिभाषित करता है। दूसरा तर्क, $विषय , अनिवार्य है, और इसमें स्ट्रिंग डेटा होता है जिसमें पैटर्न लागू किया जाएगा। तीसरा तर्क, $मैचों , वैकल्पिक है और यह मिलान के आधार पर एक सरणी देता है। चौथा तर्क, $झंडे , वैकल्पिक है, जिसमें मिलान के आधार पर विभिन्न प्रकार के ध्वज मान होते हैं। पाँचवाँ तर्क, $ऑफ़सेट , वैकल्पिक है, और इसका उपयोग खोज की प्रारंभिक स्थिति को परिभाषित करने के लिए किया जा सकता है।
उदाहरण 1: पैटर्न को केस-संवेदी और केस-असंवेदनशील तरीके से मिलाएं
निम्न उदाहरण केस-संवेदी और केस-असंवेदनशील तरीके से स्ट्रिंग मिलान के लिए preg_match() फ़ंक्शन के उपयोग को दर्शाता है। निम्न स्क्रिप्ट के साथ एक PHP फ़ाइल बनाएँ।
यहां, तीन preg_match() फ़ंक्शन में आवेदन करने के लिए तीन पैटर्न का उपयोग किया जाता है। पहला पैटर्न, '/पसंद/', केस-संवेदी तरीके से स्ट्रिंग से मिलान करने के लिए उपयोग किया जाता है। दूसरा पैटर्न, '/पसंद/' , का उपयोग केस-संवेदी तरीके से स्ट्रिंग के मिलान के लिए किया जाता है। तीसरा पैटर्न, 'मेरे जेसे' , का उपयोग केस-असंवेदनशील तरीके से स्ट्रिंग से मिलान करने के लिए किया जाता है। खोज_पैटर्न () फ़ंक्शन को मिलान के लिए preg_match() फ़ंक्शन का उपयोग करने के लिए स्क्रिप्ट में परिभाषित किया गया है, और यह इस फ़ंक्शन के दिए गए मान के आधार पर संदेश को प्रिंट करता है।
// टेक्स्ट को परिभाषित करें
$पाठ = 'मुझे पीएचपी पसंद है। मुझे जावास्क्रिप्ट भी पसंद है।';
// तीन प्रकार के पैटर्न को परिभाषित करें
$पैटर्न1 = '/पसंद/';
$पैटर्न2 = '/पसंद/';
$पैटर्न3 = '/मेरे जेसे';
// पाठ में पैटर्न खोजने के लिए फ़ंक्शन को परिभाषित करें
समारोहखोज_पैटर्न($पैटर्न, $स्ट्रिंग)
{
अगर( preg_match ($पैटर्न, $स्ट्रिंग))
फेंक दिया 'परिणाम खोजें: मिलान पैटर्न के लिए पाया जाता है -$पैटर्न
';
अन्यथा
फेंक दिया 'परिणाम खोजें: पैटर्न के लिए मिलान नहीं मिला -$पैटर्न
';
}
// मूल टेक्स्ट प्रिंट करें
फेंक दिया 'मूल पाठ है: $पाठ
';
// तीन पैटर्न के लिए फ़ंक्शन को तीन बार कॉल करें
खोज_पैटर्न($पैटर्न1, $पाठ);
खोज_पैटर्न($पैटर्न2, $पाठ);
खोज_पैटर्न($पैटर्न3, $पाठ);
?>
उत्पादन :
सर्वर से स्क्रिप्ट चलाने के बाद निम्न आउटपुट दिखाई देगा। पहली पंक्ति उस पाठ को दिखाती है जहां पैटर्न खोजे गए थे। दूसरी पंक्ति पहले पैटर्न के आउटपुट को दर्शाती है। तीसरी पंक्ति दूसरे पैटर्न के आउटपुट को दर्शाती है। चौथी पंक्ति तीसरे पैटर्न के आउटपुट को दर्शाती है।
उदाहरण 2: URL की पुष्टि करें
निम्न उदाहरण preg_match() फ़ंक्शन का उपयोग करके URL पते को सत्यापित करने का तरीका दिखाता है। निम्न स्क्रिप्ट के साथ एक PHP फ़ाइल बनाएँ।
परीक्षण के लिए वेरिएबल $url में एक URL मान असाइन किया गया है। '@^(?:https://)?([^/]+)@i' स्ट्रिंग का उपयोग preg_match() फ़ंक्शन में एक पैटर्न के रूप में यह जांचने के लिए किया जाता है कि URL पता मान्य है या नहीं। यदि यह मान्य है, तो होस्टनाम और डोमेन नाम मुद्रित किया जाएगा, अन्यथा त्रुटि संदेश मुद्रित किया जाएगा।
// यूआरएल को परिभाषित करें
$url = 'https://www.linuxhint.com';
// URL को मान्य करने के लिए पैटर्न को परिभाषित करें
$पैटर्न ='@^(?:https://)?([^/]+)@i';
// जांचें कि URL मान्य है या नहीं
अगर( preg_match ($पैटर्न, $url, $माचिस1))
{
// सफलता संदेश प्रिंट करें
फेंक दिया 'यूआरएल मान्य है।
';
// उस सरणी को प्रिंट करें जिसमें मिलान मान हों
फेंक दिया 'सरणी का मान है:';
प्रिंट_आर ($माचिस1);
// होस्ट मान प्राप्त करें और प्रिंट करें
$होस्ट = $माचिस1[1];
फेंक दिया '
होस्ट का नाम है:$होस्ट';
// होस्ट मान से डोमेन नाम खोजें
preg_match ('/[^.-lex.europa.eu+.[^.íritu+$/', $होस्ट, $मैचों2);
फेंक दिया '
डोमेन नाम है:{$मिलान2[0]}';
}
अन्यथा
{
// त्रुटि संदेश प्रिंट करें
फेंक दिया 'अवैध यूआरएल।';
}
?>
उत्पादन :
सर्वर से स्क्रिप्ट चलाने के बाद निम्न आउटपुट दिखाई देगा। स्क्रिप्ट में दिया गया URL मान्य है। तो, आउटपुट $matches के मान, URL का होस्टनाम और URL का डोमेन नाम दिखाता है।
उदाहरण 3: ध्वज और ऑफ़सेट मानों के साथ खोज पैटर्न
निम्न उदाहरण preg_match() फ़ंक्शन में फ़्लैग और ऑफ़सेट मानों के उपयोग को दर्शाता है। निम्न स्क्रिप्ट के साथ एक PHP फ़ाइल बनाएँ।
लिपि में तीन प्रकार के मिलान के लिए तीन प्रतिरूपों का प्रयोग किया गया है। पहले preg_match() फ़ंक्शन में, '/(bangla)(desh)/' पैटर्न के रूप में उपयोग किया जाता है और ध्वज मान, PREG_OFFSET_CAPTURE का उपयोग किया जाता है। के मान $मैचों वेरिएबल पहले preg_match() फ़ंक्शन के आउटपुट के आधार पर प्रिंट होगा। दूसरे preg_match() फ़ंक्शन में, '/(bangla)(glad)*(desh)/i', पैटर्न के रूप में उपयोग किया जाता है और ध्वज मान, PREG_UNMATCHED_AS_NULL का उपयोग किया जाता है। यदि पैटर्न का कोई भाग मेल नहीं खाता है तो सरणी में एक NULL मान संग्रहीत किया जाएगा। के मान $मैचों दूसरे preg_match() फ़ंक्शन के आउटपुट के आधार पर वेरिएबल प्रिंट होगा। तीसरे प्रीग_मैच () फ़ंक्शन में, पैटर्न के रूप में '/ ग्लैड /' का उपयोग किया जाता है, ध्वज मान, PREG_OFFSET_CAPTURE का उपयोग किया जाता है और 3 को ऑफ़सेट मान के रूप में उपयोग किया जाता है। के मान $मैचों वेरिएबल तीसरे preg_match() फ़ंक्शन के आउटपुट के आधार पर प्रिंट होगा।
// टेक्स्ट वैल्यू को परिभाषित करें
$पाठ = 'बांग्लादेश';
// तीन प्रकार के पैटर्न को परिभाषित करें
$पैटर्न1 = '/ (बांग्ला) (देश) / मैं';
$पैटर्न2 = '/ (बांग्ला) (खुश) * (देश) / मैं';
$पैटर्न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 () फ़ंक्शन के उपयोगों को समझाया गया है। इस फ़ंक्शन के विभिन्न तर्कों के उपयोग भी यहां दिखाए गए हैं। पाठक इस ट्यूटोरियल को पढ़ने के बाद अपनी स्क्रिप्ट में इस फ़ंक्शन का ठीक से उपयोग करने में सक्षम होंगे।