मैं एक नियमित अभिव्यक्ति का उपयोग करना चाहता हूं जो केवल उन कार्यों को ढूंढता है जो PHP फ़ाइलों में खाली हैं उदाहरण के लिए function name_not_important() { }

-1
user14826379 19 मार्च 2021, 07:39

1 उत्तर

सबसे बढ़िया उत्तर

रेगेक्स function\s[^\(]+\([^)]*\)(\n)*{(\n)*} हो सकता है

https://regex101.com/: से

  • फ़ंक्शन अक्षर फंक्शन से शाब्दिक रूप से मेल खाता है (केस सेंसिटिव) \s किसी भी व्हॉट्सएप कैरेक्टर से मेल खाता है ([\r\n\t\f\v ] के बराबर) नीचे दी गई सूची में मौजूद नहीं होने वाले एकल वर्ण का मिलान करें [^(]
  • एक और असीमित समय के बीच पिछले टोकन से मेल खाता है, जितनी बार संभव हो, आवश्यकतानुसार वापस देना (लालची) ( से मेल खाता है चरित्र (शाब्दिक रूप से (केस संवेदनशील) ( चरित्र से मेल खाता है ( शाब्दिक रूप से (केस सेंसिटिव) एक ऐसे कैरेक्टर का मिलान करें जो इसमें मौजूद नहीं है नीचे दी गई सूची [^)]
  • शून्य और असीमित समय के बीच पिछले टोकन से मेल खाता है, जितनी बार संभव हो, आवश्यकतानुसार वापस देना (लालची) से मेल खाता है कैरेक्टर ) अक्षरशः (केस सेंसिटिव) ) कैरेक्टर से मेल खाता है) सचमुच (केस सेंसिटिव) पहला कैप्चरिंग ग्रुप (\n)*
  • शून्य और असीमित समय के बीच पिछले टोकन से मेल खाता है, जितनी बार संभव हो, आवश्यकतानुसार वापस देना (लालची) एक बार-बार कब्जा करना समूह केवल अंतिम पुनरावृत्ति को कैप्चर करेगा। कैप्चरिंग ग्रुप लगाएं सभी पुनरावृत्तियों को पकड़ने या उपयोग करने के लिए दोहराए गए समूह के आसपास a यदि आप डेटा में रुचि नहीं रखते हैं तो इसके बजाय गैर-कैप्चरिंग समूह \n एक लाइन-फीड (न्यूलाइन) वर्ण (ASCII 10) से मेल खाता है { से मेल खाता है कैरेक्टर { सचमुच (केस सेंसिटिव) दूसरा कैप्चरिंग ग्रुप (\n)*
  • शून्य और असीमित समय के बीच पिछले टोकन से मेल खाता है, जितनी बार संभव हो, आवश्यकतानुसार वापस देना (लालची) एक बार-बार कब्जा करना समूह केवल अंतिम पुनरावृत्ति को कैप्चर करेगा। कैप्चरिंग ग्रुप लगाएं सभी पुनरावृत्तियों को पकड़ने या उपयोग करने के लिए दोहराए गए समूह के आसपास a यदि आप डेटा में रुचि नहीं रखते हैं तो इसके बजाय गैर-कैप्चरिंग समूह \n एक लाइन-फीड (न्यूलाइन) वर्ण (ASCII 10) से मेल खाता है} से मेल खाता है कैरेक्टर } सचमुच (केस सेंसिटिव) ग्लोबल पैटर्न फ़्लैग्स g संशोधक: वैश्विक। सभी मैच (पहले मैच के बाद वापसी न करें) m संशोधक: मल्टी लाइन। प्रत्येक के आरंभ/अंत से मेल खाने के लिए ^ और $ का कारण बनता है लाइन (न केवल स्ट्रिंग का प्रारंभ/अंत)

नोट: यह रेगेक्स मानता है कि ब्रेसिज़ का इंडेंटेशन संरेखण में है।

1
nice_dev 19 मार्च 2021, 08:11