कंप्यूटरप्रोग्रामिंग

नियमित अभिव्यक्ति (PHP)। पीएचपी: नियमित अभिव्यक्ति उदाहरण

कितना बड़ा और सूचना के विविध दुनिया, बस के रूप में जल्दी से, वह फैलता है और विकसित करता है। कोई भी निर्णय - केवल आंदोलन की समग्र प्रक्रिया में एक बिंदु। ज्ञान और अनुभव यह लक्ष्य को प्राप्त करने की प्रक्रिया को समझने के लिए संभव है, लेकिन कभी नहीं - अपनी उपलब्धियों में से नहीं परिणाम। इसमें संदेह है कि हम परिणाम पर निकट भविष्य में बात कर सकते हैं, लेकिन यह महत्वपूर्ण है कि इसके लिए प्रयास कर रहा करने की प्रक्रिया में एक महत्वपूर्ण और निष्पक्ष आवश्यक प्रक्रिया है।

"इच्छा और / या बहुत सारा पैसा" एक एल्गोरिथ्म है कि करने में सक्षम बनाने के नहीं है, और निश्चित रूप से "मुक्त" आदमी करता है, खासकर जब वह वह क्या कर रहा था के बारे में सोचना नहीं है। किसी भी स्थिति में जानकारी समस्या यह है कि वे सभी सफेद फूल रहे हैं जरूरी कम से कम एक ब्लाइंड स्पॉट है, लेकिन उसके लिए, आमतौर पर तुरंत, दूसरों को स्वच्छ दाग दिखाई दे रहे हैं, और नहीं।

इंटरनेट प्रौद्योगिकी जानकारी के लिए उपयोग को सरल बनाया गया है, लेकिन सवाल यह है कि - कैसे वांछित होने पर डाल करने के लिए - सरल बनाया नहीं, और काम का अधिग्रहण कर लिया नया "मात्रा"। और हालांकि पीएचपी नियमित अभिव्यक्ति की खाई को स्पष्ट रूप से समाप्त न हो जाए, वे आगे एक महत्वपूर्ण कदम है।

सरल कार्यों + एल्गोरिथ्म = पैटर्न

नियमित अभिव्यक्ति की पेशकश, पीएचपी एल्गोरिथ्म काफी सामग्री कम कर देता है, लेकिन हमेशा की तरह खोज कार्य / प्रतिस्थापन और प्रसंस्करण एल्गोरिदम उनके महत्व खो नहीं मिला। नए विचारों को सूचना क्रांति संकेत मिलता नहीं है। सबसे कि उम्मीद की जा सकती - कॉम्पैक्ट कोड और डेवलपर एक खोज क्वेरी सही ढंग से तैयार करने के लिए क्षमता में वृद्धि।

तुम्हें पता है और PHP नियमित अभिव्यक्ति पर लागू करना चाहिए। उदाहरण समझाने और प्रभावी। , तंत्र का एक प्रकार, वास्तव में सरल खोज काम करता है, की स्थिति, लूप होता है, और अन्य ऑपरेटरों का एक सेट द्वारा बदल दिया - लेकिन यह है कि एक नया खोज इंजन के आगमन के साथ, गुरुत्वाकर्षण का केंद्र पैटर्न में स्थानांतरित कर दिया रिपोर्ट देना चाहिए।

है:

  • गुणवत्ता और आधुनिक उपकरण - यह अच्छा है;
  • देख सकते हैं और सहयोगियों के अनुभव का उपयोग बात है;
  • सफलता की कोई गारंटी - वास्तविकता और आभासी विचार संयोजन।

यह कैसे समस्या को समझने के लिए, इसे हल करने जरूरी हो गया था का ज्ञान हासिल करने, यह अक्सर विशिष्ट परिणाम से ज्यादा महत्वपूर्ण है।

पीएचपी में रेगुलर एक्सप्रेशन भाषा वाक्य रचना में कई कार्य करने की और इंटरनेट पर उपयोगी उदाहरण के एक बहुत द्वारा प्रतिनिधित्व कर रहे हैं। वाक्य रचना की वजह से विशिष्ट अनुप्रयोग विकल्प केवल डेवलपर की कल्पना द्वारा सीमित हैं, लेकिन sleuet को ध्यान में रखना है कि नहीं सभी टेम्पलेट्स के लिए काम करेंगे। नियमित अभिव्यक्ति की पीएचपी सत्यापन का उपयोग करना आवश्यक है।

सरल खोज चरित्र (स्ट्रिंग)

प्रतीक - यह हमेशा एक एकल बाइट नहीं है, और अक्सर एक प्रतीक, एक चिप के रूप में है, इसके अलावा में एक सटीक अर्थ है। एन्कोडिंग निर्दिष्ट करता है अलग ढंग से कोड में दिखने वाले अक्षर। प्रतीक पास कई विकल्प हैं हो सकता है: "$" = "अमरीकी डालर" = "अमरीकी डालर", ... - कि कहीं कुछ का सही अर्थ है, लेकिन जरूरी नहीं कि बंद नहीं, मुद्रा की वजह से। हालांकि, सटीक अर्थ चर पीएचपी, जो हमेशा चरित्र "$" के साथ शुरू होता में झूठ सकता है, लेकिन "अमरीकी डालर" और "अमरीकी डालर" से शुरू नहीं कर सकते हैं।

कार्यक्रम के प्रतीक एक समारोह नाम (स्ट्रिंग) के संदर्भ में हो सकता है: समझते हैं और पूरा - यह गतिशील ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग, से है जब संरचना, कार्यों, पीएचपी नियमित अभिव्यक्ति निर्णय लेने के लिए सीधे इस्तेमाल किया जाता है। मिले प्रतीक "बदल जाता है", वह यह है कि अपने आप में क्या जगह है, जिसमें यह पाया जाता है में करने के लिए निर्धारित करता है, और जिस तरह से यह है, "उन्होंने समझे" आवश्यक द्वारा।

साफ बेहतर नहीं इस तरह के एक सरल व्यायाम, और अधिक जानकारी के लिए - एक चरित्र / लाइन के लिए खोजें। यह खाद्य कीमतों में दस सबसे अच्छा लगता है स्वादिष्ट व्यंजनों जन्मदिन का केक चुनते हैं, या झूठी छत के लिए ठेकेदार को निर्धारित करने के लिए आवश्यक हमेशा नहीं है।

एक सौ साइटों - अक्सर यह अनुकूलन करने के लिए सरल एल्गोरिदम साधारण अंकगणित जानकारी नहीं हैं या मुश्किल स्थिति में, जब वांछित चरित्र एक डेटाबेस से चुनने के लिए, और कतार में है जिसमें यह पता लगाने के लिए आवश्यक है आवश्यक है। साइटों की खोज समय कुख्यात सैकड़ों - मूल्य समय से एक चरित्र नमूना डेटाबेस, और देखने के लिए जहां की कीमत का चयन करने के बराबर है।

लोन प्रतीक - यह एक मुहावरा नहीं है, और कुछ वाक्य नहीं है, वह कहीं भी हो सकता है और के रूप में वांछित के रूप में छोटे हो सकता है। कैसे निर्धारित करें क्या मिला था वांछित है?

उदाहरण: कीमतों के लिए खोज

एक छोटे - बस पाठ "$" प्रतीक हैं। जाँच करें कि यह एक नंबर का सामना कर रहा है, यह हमेशा पर्याप्त नहीं है। आप एक बिंदु या संख्या प्रतीक "$" से पहले प्रदान करते हैं एक गारंटी नहीं है कि कीमतों जिस पर मौद्रिक चिह्न आगे हैं ध्यान में नहीं रखा जाएगा। वहाँ भी कीमत है, जो सामान्य रूप में मुद्रा निर्दिष्ट नहीं है छोड़े गए हैं, लेकिन पृष्ठ पर यह स्पष्ट निर्देश पर है।

सामान्य तौर पर, सामान्य तरीके से समस्या का समाधान मान्यता एल्गोरिथ्म और समय लेने से परे बढ़ा देते हैं। इस बीच, एक रेगुलर एक्सप्रेशन के उपयोग, पीएचपी की संख्या कोई समस्या नहीं मिल जाएगा।

$ CContents = preg_match_all ( "/ [0-9] + ([\ $] | USD | y \ £ \ | ue) {1} / मैं।";

"देखो ई-मेल - 2USD;
";
"ई-मेल का पता लगाएं - 2u.e;
।";
"काम ई-मेल - UE2;
";
"ई-मेल की जाँच करें - $ 13", $ aresult);
। '; '। फटना ( ',', $ aresult [0])। '
'।

जवाब देंगे: "2; 2USD, 2u.e.", लेकिन लाइन में कुछ भी नहीं मिला: "जाँच ई-मेल - $ 13."

सामने या चरित्र के पीछे पैटर्न की उपस्थिति के लिए प्रदान करना, आप ज्यादातर मामलों में जल्दी सफलता प्राप्त कर सकते हैं।

$ CContents = preg_match_all ( "/ ([0-9] + ([\ $] | USD | y \ £ \ |। UE) {1}) | (([$] | USD | y \ £ \। | ue) {1} [0-9] +) / मैं ";
"देखो ई-मेल - 2USD;
";
"ई-मेल का पता लगाएं - 2u.e;
।";
"काम ई-मेल - UE2;
";
"ई-मेल की जाँच करें - $ 13", $ aresult);
। '; '। फटना ( ',', $ aresult [0])। '
'।

परिणाम: "4; 2USD, 2u.e., UE2, $ 13."

अनायास ही तर्क के बारे में

रेगुलर एक्सप्रेशन पीएचपी प्रदान करता है, साथ ही अन्य उपकरण है, लेकिन यह आवश्यक नहीं है अपने नियमों के अनुसार उन्हें लागू या छोटे वाक्य रचना तरीका प्रदान अन्य कार्यों का उपयोग करने के।

खोज सरणी की ओर रुख करने के लिए आवश्यक है, और जगह है जहाँ हम खोज, पूर्व मापदंड के अनुसार घटकों में टूट की शुरुआत से पहले संभव। बस के एक जोड़े में विस्फोट () और फटना () अक्सर सरल करता है और निर्णय को गति।

उदाहरण के लिए, प्रारंभिक काम के परिणाम के रूप कितने आलू हर गांव एकत्र पर जिले में तार (डेटा) की एक सरणी का गठन: अज्ञात ImyaDerevnya और मात्रा एकत्र, और यदि देश तार की एक सरणी में कई कंपनियों चलाता है के माध्यम से ImyaDerevnya.ImyaPredpriyatie और मूल्य है "; " और इसलिए सभी उद्यमों पर। कुल राशि इस मामले में एकत्र संभव नहीं होगा की गणना करें, लेकिन अगर आप impode कर ( ",", $ aresult), एक लंबी लाइन है, जिसमें जोड़ी होगा - के माध्यम से स्थानांतरित कर दिया जाएगा ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - - आकार का एक संग्रह ","। पर एक रिवर्स है, जिसके परिणामस्वरूप विस्फोट ( ",", $ aresult) - सभी की एक सरणी, जो एकत्र और यह कैसे इकट्ठा किया जाता है, और फिर सभी गैर-न्यूमेरिक वर्ण से लाइनों को हटाने के द्वारा, हम केवल नंबर हैं, जो की राशि कुल मात्रा एकत्र है।

इस उदाहरण में, PHP में नियमित अभिव्यक्ति बहुत अधिक देखने के लिए नहीं हैं, लेकिन ये वांछित संख्यात्मक मानों हैं आसान और सस्ती निकालने। जल्दी से और कुशलता, कोई फर्क नहीं पड़ता कि कितनी देर तक यह गांवों और व्यवसायों के नाम हो सकता है। यह समाधान आदर्श नहीं है, लेकिन यह पता चलता है कि हमेशा पालन नहीं करते हैं नियम होना चाहिए। यह अक्सर एक असामान्य तरीके से वांछित प्राप्त करने के लिए संभव है।

तकनीकी पक्ष से सार संक्षेप, एन्कोडिंग

एल्गोरिथ्म के वाक्य रचना कहना नहीं है कि यह कैसे वास्तव में लग रहा है। हालांकि, पेज के समान कूट प्रदान करने, और पंक्तियों स्क्रिप्ट (जो की मांग की है जो छवियों में) समस्या में डुबकी कर सकते हैं इसके तकनीकी पहलुओं है।

एक ही जहां यह करने के लिए, कब, कितना, क्या बदलने के लिए और कैसे देखने के लिए क्या पता है, लेकिन नहीं होना चाहिए। औपचारिक रूप से अपने आप में एक पूरा पूर्ण विशेषताओं तंत्र के रूप में मार डाला नियमित अभिव्यक्ति PHP, लेकिन कई कारणों से, कई भाषाओं में अपने समकक्षों की प्राप्ति के अलग। एक सामान्य नियम के रूप में, इससे पहले कि आप एक विशेष कार्य के लिए एक विशेष उपकरण के माहौल में एक खास पैटर्न ले जाते हैं, यह आवश्यक, उच्च गुणवत्ता वाले अनुकूलन बाहर ले जाने के स्रोत डेटा के लिए सारे विकल्प के लिए जाँच करने के लिए है।

यहां तक कि अगर आप PHP में विकसित करने के लिए अपने स्वयं के अनुभव का उपयोग करें, नियमित अभिव्यक्ति, उदाहरण, टेम्पलेट्स और डिजाइन सावधान जाँच की आवश्यकता है। गतिशील रूप से भाषा कार्यक्षमता, वाक्य रचना और क्रम बदल रहा है।

संरचना और एक टेम्प्लेट की सामग्री

क्या खोज के लिए पूर्व काम करता है, का एक संयोजन के रूप में लिखा गया था सशर्त, रेगुलर एक्सप्रेशन पैटर्न - प्रतिस्थापन संचालन, सम्मिलित करने, हटाने, कुछ नियमों के अनुसार वर्णों की स्ट्रिंग है। वास्तव में, एक महत्वपूर्ण राशि एक निश्चित तरीके से इनकोडिंग और विशिष्ट नियमों द्वारा निष्पादित किया जाता है।

बस के रूप में यह असंभव है किसी भी डिबगिंग भाषा ऑपरेटर ऐसा करने के लिए, आप एक रेगुलर एक्सप्रेशन पैटर्न डिबग नहीं कर सकते हैं, इस प्रक्रिया को केवल अनुकरण कर सकते हैं। एक सामान्य नियम के रूप संस्करण को अपनाया: काम करता है - काम नहीं करता। वाक्य रचना बहुत सरल है, हालांकि उनके धारणा है, विशेष रूप से शुरुआत में, बहुत मुश्किल है।

एक सरल अभिव्यक्ति का एक उदाहरण

एक साधारण अवतार में, टेम्पलेट स्ट्रिंग से मेल खाता:

$ CContents = preg_match ( "/ asdf / मैं", "asdf", $ aresult)। '; '। फटना ( ',', $ aresult)।

,, "Asdf 1" समारोह इसके संचालन पूरा करता है के बाद से पहली बार में एक मिलान टेम्पलेट से मुलाकात परिणाम होंगे। परिणाम, एक ही हो सकता है अगर हम लाइन पर देखने के "aaaasdf" पंक्ति "zzzasdfvvv" में। आप पहली बार और / या अंतिम वर्ण निर्दिष्ट करते हैं, परिणाम स्पष्ट होगा:

$ CContents = preg_match ( "/ ^ asdf / मैं", "asdf", $ aresult)। '; '। फटना ( ',', $ aresult)। '
';
$ CContents। = Preg_match ( "/ asdf $ /", "asdf", $ aresult)। '; '। फटना ( ',', $ aresult)। '
'।

परिणाम होंगे: 1; asdf1; asdf।

प्रतीकों "*" और "$" इंगित करता है जहां शुरू और समाप्त होने के पैटर्न के लिए। preg_match समारोह परिणाम - मैचों की संख्या, यह अगर एक त्रुटि का पता चला है, 0, 1, या गलत हो सकता है। तीसरा विकल्प - एक सरणी - केवल पाया तत्व रखा। preg_match_all समारोह का उपयोग कर के मामले में () खोज अंत लाइन के लिए जारी है।

$ CContents = preg_match ( "/ asdf / मैं", "asdf123asdf456asdf789", $ aresult)। '; '। फटना ( ',', $ aresult)। '
';
$ CContents। = Preg_match_all ( "/ asdf / मैं", "asdf123asdf456asdf789", $ aresult)। '; '। फटना ( ',', $ aresult [0])। '
'।

परिणाम:

1; asdf
3; asdf, asdf, asdf।

आप विशेष निर्देश का उपयोग नहीं करते हैं, तो हर किरदार अपने आप में और उसके स्थान पर परिभाषित करता है, लाइन कोडिंग और टेम्पलेट कोडिंग की परवाह किए बिना। प्रोग्रामर सुनिश्चित करना चाहिए कि इन तत्वों में से एन्कोडिंग एक दूसरे को और एन्कोडिंग पेज के संबंध में सही थे।

नियमित अभिव्यक्ति के साथ काम करने के लिए PHP कार्यों

PHP के लिए रेग्युलर एक्सप्रेशंस एक चरित्र स्ट्रिंग एक निश्चित तरीके से दर्ज की गई है प्रतिनिधित्व करते हैं। आमतौर पर, अन्य प्रोग्रामिंग भाषाओं के साथ तुलना करके, वे प्रतीकों "/" ... "/" और उद्धरण चिह्नों में रखा गया है, आप एकल या डबल एल्गोरिथ्म के आधार पर उपयोग कर सकते हैं में लिखा जाता है।

मुख्य कार्य php preg मैच नियमित अभिव्यक्ति दोनों पैटर्न मैच का उपयोग करता है और पहले स्थान पर यह बंद हो जाता है, एक प्रत्यय _all साथ एक प्रकार उसके सभी मैचों पाता है, और उसके सरणी आउटपुट। समारोह preg की जगह प्रत्येक एक टेम्पलेट से मेल की जगह ली, यह सरणियों के साथ काम कर सकते हैं, खोज डिजाइन की इजाजत दी और विकल्प की एक किस्म के प्रतिस्थापन प्रदर्शन करते हैं।

नियमित अभिव्यक्ति के साथ काम करने के लिए दिलचस्प विकल्प preg_replace_callback समारोह है कि कोई प्रतिस्थापन पाठ लेता है, और समारोह है, जो बाहर इस तरह के एक प्रतिस्थापन ले जाएगा के नाम का उपयोग विकसित किया जा सकता। व्यावहारिक मूल्य के अलावा आप तंत्र पैटर्न की जांच, कि विकास और पिछले की डिबगिंग एक महत्वपूर्ण भूमिका निभाता लागू कर सकते हैं।

नियमित अभिव्यक्ति का दायरा

हाइपरटेक्स्ट भाषाओं बहुत हद तक जानकारी औपचारिक रूप दिया जाता है क्योंकि वे शुरुआती सामग्री रहे हैं। टेम्पलेट्स और डिजाइन है कि कुशलता से डेटा की बड़ी मात्रा पर कार्रवाई करने के लिए अनुमति देते हैं की एक बड़ी संख्या विकसित की है। इस काम का एक महत्वपूर्ण भाग विभिन्न सामग्री प्रबंधन प्रणाली (सीएमएस) में निर्मित तंत्र किया जाता है।

आश्चर्य नहीं कि कई सीएमएस साइटों के निर्माण, और (अद्यतन) सॉफ्टवेयर कंपनियों के साथ किया जा रहा है, वे इसे आवश्यक अपने आप ही पैटर्न के विकास के बाहर ले जाने के लिए नहीं था बन वास्तविक मानकों। हालांकि, इस तरह सिस्टम के बाहर नियमित अभिव्यक्ति के साथ अनुभव बहुत उपयोगी है।

रेगुलर एक्सप्रेशन और वास्तविक जानकारी

पीएचपी पुस्तकालयों में नियमित अभिव्यक्तियों का आवेदन का एक महत्वपूर्ण क्षेत्र आगमन PHPOffice का गठन किया। दस्तावेज़, स्प्रेडशीट के साथ कार्य करें, और हमेशा महत्वपूर्ण रहा है और OOXML मानक न केवल वास्तविक दस्तावेजों को नष्ट करने के लिए, बल्कि उनके कार्यक्रम को आकार करना संभव है।

विशेष रूप से हाइपरटेक्स्ट और PHP भाषाओं के विकास के लिए धन्यवाद, उदाहरण के लिए, दस्तावेज़ "मानक फार्म" के "उत्पादन" स्वचालित करने के लिए एक वास्तविक अवसर है, भुगतान, रिपोर्ट, व्यापार की योजना, और अन्य जानकारी वस्तुओं के लिए चालान, संरचना और सामग्री वास्तव में औपचारिक और स्वचालन के लिए उत्तरदायी हैं।

आवेदन नियमित अभिव्यक्ति की भाषा OOXML विकास की प्रक्रिया का वर्णन करने के संबंध में पहली जगह में साथ मार्कअप भाषाओं एचटीएमएल पारंपरिक काम करने और सीएसएस से काफी अलग है। अंकन को छोड़कर और वास्तविक सामग्री के अलावा वास्तविक दस्तावेज़, विवरण का एक बहुत है। उदाहरण के लिए, एक दस्तावेज है कि प्रोग्राम द्वारा स्वचालित रूप से बनाया गया था, एक मजबूत और सही सामग्री होगा। दस्तावेज़ का गठन या व्यक्ति का इलाज किया, एक सामग्री है, टैग की अधिकता में चित्रित किया गया था। दस्तावेज़ के साथ कोई भी काम तथ्य यह के शब्दों में से एक हो सकता है, लेकिन अलग-अलग डिजाइन पर विभिन्न मात्रा में रंगा होता है।

प्राकृतिक जानकारी और स्थिति

हमेशा समस्या है, जो जानकारी का मंचन किया गया है और इसके परिणामस्वरूप, के समाधान में दिलचस्पी रखने वाला एक व्यक्ति, एक ही जानकारी दी जाएगी। एक दस्तावेज के रूप में समस्या के बयान पेश करते हुए एक व्यक्ति को कोई खास अर्थ विज्ञान हो जाता है, जो (संशोधन में इन शब्दों की स्पष्ट करने, हटाने, संपादित करें) न केवल एक दस्तावेज़ के कई संस्करण की ओर जाता है, लेकिन यह भी अन्य सामग्री द्वारा अपने संस्करण के लिए विशेषज्ञों की विनिर्देश में है।

विशेष रूप से, कार्य वाक्यांश द्वारा निर्धारित संपादन के बाद इस तरह दिखेगा "वर्ग uranenie का समाधान": "। एक द्विघात समीकरण को हल करने के लिए" पहली बार में पहली त्रुटि सही किया गया है, तो और फिर दूसरी, तो OOXML शैली में प्राकृतिक जानकारी लग सकती है: "[हल] [] [वर्ग] [ई] [] [चियर्स] [ख] [nenie]", लेकिन यह नहीं है गारंटी देते हैं कि इस कार्य को टैग OOXML (कोष्ठक कोष्ठक टैग का अनुकरण) में दिखाई देगा।

एक साथ जानकारी प्रत्येक कार्य संपादन की प्रक्रिया के बाद आसानी से किया जा सकता है डाल, लेकिन हर बार इस प्रक्रिया विभिन्न एल्गोरिदम द्वारा प्रदर्शन किया जाएगा करने के लिए। जानकारी समस्याओं की औपचारिक के उपकरण का एक प्रकार के रूप में रेगुलर एक्सप्रेशन वे प्रभाव में हो गए हैं,, प्राकृतिक जानकारी में हाइपरटेक्स्ट की औपचारिक संरचनाओं से पथ घूमना।

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hi.birmiss.com. Theme powered by WordPress.