{{"name":"alpha",
"age":"23",
"sex":male",
"location":"U.S"
}
{"name":"beta",
"age":"23",
"sex":male",
"location":"Cambodia"
}}
यदि मैं एक नाम देता हूं, तो मेरे regex को उस नाम के लिए स्थान वापस करना चाहिए मान लीजिए कि नाम एक चर के रूप में दिया गया है, तो मैं कोशिश करता हूं,
"name":"alpha"[dD]*"location":"(.+?)"
मुझे हमेशा इस अभिव्यक्ति के साथ अंतिम स्थान मिलता है। मुझे नाम के आधार पर स्थान कैसे मिल सकता है? कोई मदद?
उत्तर:
जवाब के लिए 2 № 1आपको हमेशा आखिरी मिलता है क्योंकि [dD]*
के बीच में सब कुछ मेल खाता है और Regexes हमेशा जितना संभव हो उतना मैच करने की कोशिश करता है। अगर आपके रेगेक्स इंजन के बारे में पता है गैर लालची मैच (और ऐसा लगता है जैसे यह करता है क्योंकि आप स्थान पर एक गैर-लालची मैच का उपयोग करते हैं: +?
), आपको इसका उपयोग करने में सक्षम होना चाहिए:
"name":"alpha"[dD]*?"location":"(.+?)"