डार्ट को RegExp का उपयोग करके स्ट्रिंग से ट्रैक एलिमेंट मिलता है

Nov 28 2020

जब हम हमारी वेबसाइट url से डेटा पुनः प्राप्त करते हैं, तो इस आउटपुट को बाकी एपीआई फ़ील्ड में लौटाते हैं और मैं यह देखने की कोशिश करता हूं कि क्या tracksयह निहित है कि मुझे उससे url मिल रहा है, जो इस निम्न tracksस्रोत में है जिसे मुझे प्राप्त करने की आवश्यकता है

String test = """
<div class=\"wp-playlist wp-audio-playlist wp-playlist-light\">\n
<div class=\"wp-playlist-current-item\"></div>\n
<p>\t\t<audio controls=\"controls\" preload=\"none\" width=\"\n\t\t\t\t1118\t\"\n\t\t>
</audio></p>\n<div class=\"wp-playlist-next\"></div>\n<div class=\"wp-playlist-prev\">
</div>\n<p>\t<noscript></p>\n<ol>\n<li>
<a href='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'>
Anne Baba Biz Suçluyuz - Muhafazakar Ailelerde Kuşak Çatışması (Sesli Kitap) www.caferilik.com<
/a></li>\n</ol>\n<p>\t</noscript><br />\n\t
<script type=\"application/json\" class=\"wp-playlist-script\">
{\"type\":\"audio\",\"tracklist\":true,\"tracknumbers\":true,\"images\":true,\"artists\":true,
\"tracks\":[{\"src\":\"https:\\/\\/www.caferilik.com\\/wp-content\\/uploads\\/2020\\/11\\/Anne-Baba-Biz-Su\\u00e7luyuz-Muhafazakar-Ailelerde-Ku\\u015fak-\\u00c7at\\u0131\\u015fmas\\u0131-Sesli-Kitap-www.caferilik.com_.mp3\",
\"type\":\"audio\\/mpeg\",\"title\":\"Anne Baba Biz Su\\u00e7luyuz - Muhafazakar Ailelerde Ku\\u015fak \\u00c7at\\u0131\\u015fmas\\u0131 (Sesli Kitap) www.caferilik.com\",\"caption\":\"\",
\"description\":\"\\\"Anne Baba Biz Su\\u00e7luyuz - Muhafazakar Ailelerde Ku\\u015fak \\u00c7at\\u0131\\u015fmas\\u0131 (Sesli Kitap) www.caferilik.com\\\".\",\"meta\":{\"length_formatted\":\"2:28:02\"},
\"image\":{\"src\":\"https:\\/\\/www.caferilik.com\\/wp-includes\\/images\\/media\\/audio.png\",\"width\":48,\"height\":64},\"thumb\":
{\"src\":\"https:\\/\\/www.caferilik.com\\/wp-includes\\/images\\/media\\/audio.png\",\"width\":48,\"height\":64}}]}</script>\n</div>\n
""";

test = test.replaceAll('\n', '').replaceAll('\t', '').replaceAll('\\', '');

मुझे स्ट्रिंग से RegExpप्राप्त करने के लिए कई मिल सकते हैं linkलेकिन मुझे इसका स्रोत प्राप्त करने की आवश्यकता हैtracks

जवाब

1 RyszardCzech Nov 28 2020 at 22:42

उपयोग

"tracks":\[{"src":"([^"]+)

प्रमाण देखें । जब आप इसे कोड के अंदर रखते हैं, तो आवश्यक मूल्य पहले समूह में होगा।

व्याख्या

--------------------------------------------------------------------------------
  "tracks":                '"tracks":'
--------------------------------------------------------------------------------
  \[                       '['
--------------------------------------------------------------------------------
  {"src":"                 '{"src":"'
--------------------------------------------------------------------------------
  (                        group and capture to \1:
--------------------------------------------------------------------------------
    [^"]+                    any character except: '"' (1 or more
                             times (matching the most amount
                             possible))
--------------------------------------------------------------------------------
  )                        end of \1