मेरे पास एक लाटेक्स दस्तावेज़ है जिसे मैं मिलान करना चाहता हूं। और मुझे एक रेगेक्स मैच चाहिए जो निम्नलिखित से मेल खाता है:PHP में नियमित अभिव्यक्तियों का उपयोग करके मैं नेस्टेड ब्रेसिज़ से कैसे मेल करूं?
\ # the backslash in the beginning
[a-zA-Z]+ #a word
(\{.+\})* # any amount of {something}
हालांकि, और वह पकड़ है;
अंतिम पंक्ति में, यह 1. जरूरतों लालची होने के लिए और 2 की जरूरत है {}
ही अंदर का मिलान संख्या है।
मतलब अगर मेरे पास स्ट्रिंग \test{something\somthing{9}}
है तो यह पूरी तरह मेल खाएगा। और इसे उस क्रम में होना चाहिए ({}
)। इतना है कि यह निम्न से मेल नहीं खाता: \ टेक्स {} के लिए
\ LaTeX {} है एक दस्तावेज तैयार करने की प्रणाली
सिर्फ
\ LaTeX {}
और
\ TeX {}
किसी की भी सहायता करें? शायद किसी के पास मिलान के लिए एक बेहतर विचार है? क्या मुझे नियमित अभिव्यक्तियों का उपयोग नहीं करना चाहिए?
यह एक नियमित रूप से बात आप मिलान कराना चाहते नहीं है, तो नियमित अभिव्यक्ति नहीं हैं बेहतर चयन। ऐसा कहा जा रहा है, आप * कर सकते हैं, क्योंकि अधिकांश नियमित अभिव्यक्ति इंजन इन दिनों नियमित नहीं होते हैं, लेकिन यह अभी भी एक अच्छा विचार नहीं है। –
यदि मेरे पास कोई अन्य विकल्प था तो मैं इसके लिए जाता। लेकिन मुझे किसी अन्य चीज के बारे में पता नहीं है जिसका मैं उपयोग कर सकता हूं। क्या आपके पास कोई धोखेबाज विचार है? यदि नहीं, ऐसा लगता है कि मैं चौड़ाई रेजएक्स फंस गया हूँ। – Knarf
यह न केवल '{' और '}' (जो आप रेगेक्स के साथ कर सकते हैं) की एक संख्या भी है, लेकिन आप यह भी सुनिश्चित करना चाहते हैं कि {}} {{'अस्वीकार कर दिया गया है (' '' की समान राशि है और '}'!), और जब आप टिप्पणी-रेखाओं में होते हैं तो आप '{' और '} 'को त्यागना चाहते हैं। संक्षेप में: रेगेक्स इसके लिए उपयुक्त नहीं है। –