Dart, RegExp kullanarak String'den parça al

Nov 28 2020

Web sitemizin url'sinden veri aldığımda, bu çıktıyı rest api alanlarından birinde döndürür ve tracksiçeri girip girmediğini bulmaya çalışırım, aşağıdaki trackskaynakta almam gereken url'yi alırım

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('\\', '');

dizeden RegExpelde edecek çok şey bulabilirim linkama kaynağınıtracks

Yanıtlar

1 RyszardCzech Nov 28 2020 at 22:42

Kullanım

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

Kanıtı görün . Kodun içine koyduğunuzda, gerekli değer ilk grupta olacaktır.

Açıklama

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