RegExp स्ट्रिंग को कई www को छोड़कर लिंक मिल रहा है
Nov 29 2020
जब मैं स्ट्रिंग से लिंक प्राप्त करने की कोशिश करता हूं जैसे कि
"नमस्ते दुनिया https://www.sample.com/voices/2020/my-sound-www.sample.com"
मुझे यहाँ से कई लिंक मिलते हैं क्योंकि मेरे पास कई हैं www
, इसके अलावा मैं कैसे कर सकता हूँ?
आउटपुट:
- https://www.sample.com/voices/2020/my-sound-www.sample.com
- www.sample.com
यह आउटपुट गलत है और यह एक लिंक होना चाहिए जो दो लिंक नहीं है
https://www.sample.com/voices/2020/my-sound-www.sample.com
मेरा रेगेक्स पैटर्न:
r"((https?:www\.)|(https?:\/\/)|(www\.))[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9]{1,6}(\/[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)?"
जवाब
1 WiktorStribiżew Nov 30 2020 at 05:04
आप उपयोग कर सकते हैं
final reg = RegExp(r'(?:https?:(?:\\?\/\\?\/|www\.)|www\.)[^\s<>"'']*\.mp3');
final m = reg.firstMatch(test);
print(m.group(0));
// => https://www.caferilik.com/wp-content/uploads/2020/11/Anne-Baba-Biz-Suçluyuz-Muhafazakar-Ailelerde-Kuşak-Çatışması-Sesli-Kitap-www.caferilik.com_.mp3
यहाँ, पैटर्न है
(?:https?:(?:\\?\/\\?\/|www\.)|www\.)[^\s<>"']*\.mp3
रेगेक्स डेमो देखें
विवरण :
(?:https?:(?:\\?\/\\?\/|www\.)|www\.)
-http
, एक वैकल्पिकs
चार के साथ पीछा किया , फिर:
और फिर//
एक वैकल्पिक के साथ\
प्रत्येक से पहले/
याwww.
, बस याwww.
[^\s<>"']*
- व्हाट्सएप , और<
, के अलावा शून्य या अधिक वर्ण>
"
'
\.mp3
- एक.mp3
तार।