PHP में रेगुलर एक्सप्रेशन क्या है?
PHP रेगुलर एक्सप्रेशन जिसे रेगेक्स के रूप में भी जाना जाता है, शक्तिशाली पैटर्न मैचिंग एल्गोरिथ्म है जिसे एकल अभिव्यक्ति में किया जा सकता है। जटिल अभिव्यक्तियों को बनाने के लिए नियमित अभिव्यक्तियाँ अंकगणितीय संचालकों जैसे (+, -, ^) का उपयोग करती हैं। वे ईमेल पते, आईपी पते आदि को मान्य करने जैसे कार्यों को पूरा करने में आपकी सहायता कर सकते हैं।
नियमित अभिव्यक्ति का उपयोग क्यों करें
- PHP रेगुलर एक्सप्रेशंस सिंगल फंक्शन को कॉल करके स्ट्रिंग डेटा में पैटर्न की पहचान को आसान बनाता है। यह हमें कोडिंग समय बचाता है।
- उपयोगकर्ता इनपुट को मान्य करते समय जैसे कि ईमेल पता, डोमेन नाम, टेलीफोन नंबर, आईपी पते,
- खोज परिणामों में कीवर्ड को हाइलाइट करना
- कस्टम HTML टेम्पलेट बनाते समय। PHP में Regex का उपयोग टेम्पलेट टैग की पहचान करने और उन्हें वास्तविक डेटा के साथ बदलने के लिए किया जा सकता है।
इस PHP रेगेक्स ट्यूटोरियल में, आप सीखेंगे:
- अंतर्निहित नियमित अभिव्यक्ति कार्य PHP में
- PHP Preg_match ()
- PHP Preg_split ()
- PHP Preg_replace ()
- नियमित अभिव्यक्ति मेटाचैकर
- पैटर्न के बारे में बताते हुए
अंतर्निहित नियमित अभिव्यक्ति कार्य PHP में
PHP ने उन कार्यों में बनाया है जो हमें नियमित कार्यों के साथ काम करने की अनुमति देते हैं जो हम इस PHP नियमित अभिव्यक्ति ट्यूटोरियल में सीखेंगे। आइए PHP में आमतौर पर उपयोग किए जाने वाले नियमित अभिव्यक्ति कार्यों को देखें।
- PHP में preg_match () - इस फ़ंक्शन का उपयोग स्ट्रिंग में पीएचपी में पैटर्न से मेल खाने के लिए किया जाता है। यह सच है अगर एक मैच पाया और झूठ है अगर एक मैच नहीं मिला है।
- PHP में preg_split () - इस फ़ंक्शन का उपयोग एक स्ट्रिंग पर एक पैटर्न मैच करने के लिए किया जाता है और फिर परिणामों को एक संख्यात्मक सरणी में विभाजित किया जाता है
- PHP में preg_replace () - इस फ़ंक्शन का उपयोग एक स्ट्रिंग पर एक पैटर्न मैच करने के लिए किया जाता है और फिर निर्दिष्ट पाठ के साथ मैच को प्रतिस्थापित किया जाता है।
नीचे एक नियमित अभिव्यक्ति फ़ंक्शन के लिए वाक्यविन्यास है जैसे कि PHP preg_match (), PHP preg_split () या PHP preg_replace ()।
यहां,
- "function_name (...)" या तो PHP preg_match (), PHP preg_split () या PHP preg_replace () है।
- "..." / "फॉरवर्ड स्लैश हमारे PHP रेगेक्स टेस्टर फंक्शन की शुरुआत और अंत को दर्शाता है
- "'/ पैटर्न /'" वह पैटर्न है जिसका हमें मिलान करने की आवश्यकता है
- "विषय" के विरुद्ध मिलान किया जाने वाला टेक्स्ट स्ट्रिंग है
आइए अब व्यावहारिक उदाहरण देखें जो उपरोक्त PHP रेगेक्स कार्यों को लागू करते हैं।
PHP Preg_match ()
पहला उदाहरण PHP फ़ंक्शन में preg_match () का उपयोग किसी दिए गए URL में शब्द गुरु के लिए एक सरल पैटर्न मैच करने के लिए करता है।
नीचे दिया गया कोड उपरोक्त उदाहरण के लिए preg_match () परीक्षक फ़ंक्शन के कार्यान्वयन को दर्शाता है।
URL को ब्राउज़ करें http: //localhost/phptuts/preg_match_simple.php
आइए हमारे आउटपुट "प्रीग_मैच ('/ गुरु /', $ my_url)" के लिए जिम्मेदार कोड के भाग की जांच करें,
- "preg_match (...)" PHP रेगेक्स फ़ंक्शन है
- "'/ गुरु /'" मिलान करने के लिए नियमित अभिव्यक्ति पैटर्न है
- "$ my_url" वैरिएबल है जिसमें पाठ का मिलान किया जाना है।
नीचे दिए गए आरेख में उपरोक्त बिंदुओं का सारांश दिया गया है
PHP Preg_split ()
आइए अब एक अन्य उदाहरण देखें जो PHP फ़ंक्शन में preg_split () का उपयोग करता है।
हम एक स्ट्रिंग वाक्यांश लेंगे और इसे एक सरणी में विस्फोट करेंगे; मिलान किया जाने वाला पैटर्न एकल स्थान है।
इस उदाहरण में उपयोग किया जाने वाला टेक्स्ट स्ट्रिंग "I Love Regular Expressions" है।
नीचे दिया गया कोड उपरोक्त उदाहरण के कार्यान्वयन को दिखाता है।
URL को ब्राउज़ करें http: //localhost/phptuts/preg_split.php
PHP Preg_replace ()
आइए अब PHP फ़ंक्शन में preg_replace () को देखते हैं जो एक पैटर्न मैच करता है और फिर पैटर्न को किसी अन्य चीज़ से बदल देता है।
नीचे दिया गया कोड एक स्ट्रिंग में गुरु शब्द के लिए खोज करता है।
यह गुरु शब्द की जगह css कोड से घिरे गुरु शब्द की जगह लेता है जो पृष्ठभूमि के रंग को उजागर करता है।
मान लें कि आपने फ़ाइल को URL http: //localhost/phptuts/preg_replace.php पर preg_replace.php, सहेज लिया है।
नियमित अभिव्यक्ति मेटाचैकर
उपरोक्त उदाहरणों में बहुत बुनियादी पैटर्न का उपयोग किया गया था; मेटाचैकर्स बस हमें और अधिक जटिल पैटर्न मैच करने की अनुमति देते हैं जैसे कि एक ईमेल पते की वैधता का परीक्षण करना। आइए अब सामान्य रूप से उपयोग किए जाने वाले मेटाचैकर को देखें।
मेटाट्रेक्टर | विवरण | उदाहरण |
---|---|---|
। | नई लाइन को छोड़कर किसी भी एकल वर्ण से मेल खाता है | /./ किसी भी पात्र से मेल खाता है |
^ | या स्ट्रिंग / वर्णों की शुरुआत से मेल खाता है | / PH / PH के साथ शुरू होने वाले किसी भी स्ट्रिंग से मेल खाता है |
$ | स्ट्रिंग के अंत में पैटर्न से मेल खाता है | / com $ / मैच |
* | किसी भी शून्य (0) या अधिक वर्णों से मेल खाता है | / कॉम * / कंप्यूटर, संचार आदि से मेल खाता है। |
+ | पूर्ववर्ती वर्ण की आवश्यकता होती है जो कम से कम एक बार दिखाई देता है | / याह + ऊ / माचिस याहू |
\ _ | मेटा पात्रों से बचने के लिए उपयोग किया जाता है | /yahoo+\.com/ डॉट को शाब्दिक मूल्य मानता है |
[…] | चरित्र वर्ग | / [एबीसी] / एबीसी से मेल खाता है |
az | लोअर केस लेटर्स से मेल खाता है | / az / मैच शांत, खुश आदि। |
AZ | ऊपरी केस पत्रों से मेल खाता है | / AZ / WHAT, HOW, WHY आदि से कैसे मेल खाता है |
0-9 | 0 और 9 के बीच किसी भी संख्या से मेल खाता है | / 0-4 / मैच 0,1,2,3,4 |
उपरोक्त सूची केवल नियमित रूप से अभिव्यक्ति में सबसे अधिक उपयोग किए जाने वाले मेटाचट्रैक्टर्स को देती है।
आइए अब एक काफी जटिल उदाहरण देखें जो एक ईमेल पते की वैधता की जांच करता है।
" "
यहां,
- "'/ ... /'" नियमित अभिव्यक्ति शुरू और समाप्त करता है
- "[a-zA-Z0-9 ._-]" किसी भी निचले या ऊपरी केस के अक्षरों, 0 और 9 और डॉट्स, अंडरस्कोर या डैश के बीच की संख्याओं से मेल खाता है।
- "+ @ [a-zA-Z0-9-]" कम या ऊपरी मामले के पत्रों, 0 और 9 या डैश के बीच संख्याओं के बाद प्रतीक से मेल खाता है।
- "+ \ _। [a-zA-Z।] {2,5} $ /" बैकस्लैश का उपयोग करके डॉट से बच जाता है फिर स्ट्रिंग के अंत में 2 और 5 के बीच के चरित्र लंबाई के साथ किसी भी निचले या ऊपरी मामले के अक्षरों से मेल खाता है।
URL को ब्राउज़ करें http: //localhost/phptuts/preg_match.php
जैसा कि आप उपरोक्त उदाहरण के टूटने से देख सकते हैं, जब मिलान पैटर्न की बात आती है तो मेटाचैकर बहुत शक्तिशाली होते हैं।
सारांश
- PHP में एक नियमित अभिव्यक्ति या रेगेक्स एक पैटर्न मैच एल्गोरिथ्म है
- सत्यापन जाँच करते समय, HTML टेम्प्लेट सिस्टम बनाने से जो टैग आदि को पहचानते हैं, नियमित अभिव्यक्ति बहुत उपयोगी है।
- PHP ने कार्यों में निर्मित किया है जैसे PHP preg_match (), PHP preg_split () और PHP preg_replace () जो नियमित अभिव्यक्ति का समर्थन करते हैं।
- मेटाचैकर हमें जटिल पैटर्न बनाने की अनुमति देते हैं