[और] रेगेक्स में विशेष वर्ण हैं। उनका उपयोग एक मैच के पात्रों को सूचीबद्ध करने के लिए किया जाता है। [a-z]
"ए" और "जेड" के बीच किसी भी लोअरकेस अक्षर से मेल खाता है। [03b]
"0", "3", या "बी" से मेल खाता है। "[" और "]" अक्षरों से मेल खाने के लिए, आपको उन्हें पिछले \
से बचाना होगा।
आपका कोड वर्तमान में "खाली स्ट्रिंग के साथ []().
के किसी भी चरित्र को प्रतिस्थापित करें" (जिस क्रम में आपने उन्हें स्पष्टता के लिए टाइप किया है) से पुन: व्यवस्थित किया गया है।
लालची मैच:
preg_replace('/\[.*\]/', '', $str); // Replace from one [ to the last ]
एक लालची मैच मेल खा सकते हैं कई [और] के। उस अभिव्यक्ति में an example [of "sneaky"] text [with more "sneaky"] here
लगेगा और इसे an example here
में बदल दिया जाएगा।
preg_replace('/\[.*?\]/', '', $str);
गैर लालची मैचों संभव के रूप में कुछ वर्ण को पकड़ने की कोशिश:
पर्ल (आप सबसे अधिक संभावना लालची हो नहीं करना चाहती) एक गैर लालची मैच के लिए एक वाक्य रचना है। उसी उदाहरण का उपयोग करना: an example [of "sneaky"] text [with more "sneaky"] here
an example text here
बन जाता है।
केवल पहले निम्नलिखित अप करने के लिए]:
preg_replace('/\[[^\]]*\]/', '', $str); // Find a [, look for non-] characters, and then a ]
यह और अधिक स्पष्ट है, लेकिन कठिन पढ़ने के लिए है। एक ही उदाहरण पाठ का उपयोग करके, आपको गैर लालची अभिव्यक्ति का आउटपुट मिल जाएगा।
ध्यान दें कि इनमें से कोई भी सौदा स्पष्ट रूप से सफेद स्थान के साथ नहीं है। [और] के दोनों तरफ की जगहें बनी रहेंगी।
यह भी ध्यान रखें कि ये सभी विकृत इनपुट के लिए असफल हो सकते हैं। मैचों के बिना एकाधिक [एस]] एक आश्चर्यजनक परिणाम हो सकता है।
स्पष्टीकरण के लिए बहुत धन्यवाद! –
हम्म, विकृत इनपुट कुछ ऐसा है जो मैं चला सकता हूं। क्या मिलान नहीं होने के उदाहरण को संभालना संभव है? –
मुझे यह जानना होगा कि आप इसे कैसे प्रबंधित करना चाहते हैं। विकृत इनपुट के साथ आप इसके लिए क्या उम्मीद करेंगे? –