Помогите с регулярным выражением :)
Нужно достать из кода ссылки вида
https://sXX.knigavuhe.org/1/audio/XXXXXX/X.mp3
, где X - числа.
Пробовал вот такое выражение:
[^0-9\,a-zA-Z](https:\\/\\/s[0-9]+\.knigavuhe\.org\\/[0-9]+\\/audio\\/[0-9]+\\/[0-9]+\.mp3)[^0-9\,a-zA-Z]
Код (входной текст), из которого нужно извлечь ссылки (они в выражении var player = new BookPlayer(...)):
<script>
lang.extend({"close":"Закрыть","cancel":"Отмена","ok":"OK","back":"Назад","delete":"Удалить","information":"Информация","confirmation":"Подтверждение","loading":"Загрузка","spoiler_show":"Нажмите, чтобы показать","spoiler_hide":"Нажмите, чтобы скрыть","error":"Ошибка","error_nav_403":"Ошибка доступа.","error_nav_404":"Страница не найдена.","error_nav_500":"Ошибка сервера.","show_all":"Показать все","hide":"Скрыть","hint":"Подсказка","reader_on_site":"Чтец на сайте","author_on_site":"Автор на сайте","books_count":["%s книга","%s книги","%s книг","нет книг"],"header_search_not_found":"По запросу <b>%s<\/b> ничего не найдено.","header_search_no_results":"Нет результатов","header_search_results":"Результаты поиска","header_search_label_authors":"Авторы","header_search_label_readers":"Исполнители","header_search_label_series":"Циклы","header_search_label_books":"Аудиокниги","header_search_label_total":"всего <b>%s<\/b>","header_search_book_author":"автор","header_search_book_authors":"авторы","header_search_book_reader":"читает","header_search_book_readers":"читают","header_search_show_all":"Показать все результаты","header_search_show_all_n_books":["Показать %s книгу","Показать все %s книги","Показать все %s книг"],"header_search_show_all_n_series":["Показать %s цикл","Показать все %s цикла","Показать все %s циклов"],"header_search_show_all_n_authors":["Показать %s автора","Показать всех %s авторов","Показать всех %s авторов"],"header_search_show_all_n_readers":["Показать %s исполнителя","Показать всех %s исполнителей","Показать всех %s исполнителей"],"header_search_tab_all":"Все результаты","header_search_tab_books":"Книги","header_search_tab_readers":"Исполнители","header_search_tab_authors":"Авторы","header_search_tab_series":"Циклы","header_search_history_error":"Ошибка загрузка истории.","input_hints_empty":"Ничего не найдено.","book_auth_to_add":"Авторизуйтесь, чтобы добавить","book_auth_to_vote":"Авторизуйтесь, чтобы оценить","book_faves_add":"На полку","book_faves_added":"На полке","book_faves_remove":"Убрать с полки","book_like":"Мне нравится","book_dislike":"Мне не нравится","book_likes_restricted":"Вам запрещено оценивать","catalog_subscribe":"Подписаться","catalog_subscribed":"Вы подписаны","catalog_author_subscribe":"Подписаться на автора","catalog_author_subscribed":"Вы подписаны на автора","catalog_reader_subscribe":"Подписаться на исполнителя","catalog_reader_subscribed":"Вы подписаны на исполнителя","catalog_serie_subscribe":"Подписаться на цикл","catalog_serie_subscribed":"Вы подписаны на цикл","catalog_genre_subscribe":"Подписаться на жанр","catalog_genre_subscribed":"Вы подписаны на жанр","book_player_next":"Следующий трек","book_player_prev":"Предыдущий трек","book_player_forward":"Вперёд на 15 сек.","book_player_backward":"Назад на 15 сек.","book_player_content":"Содержание","book_player_autopause_off":"выкл.","minutes_count":["%s минута","%s минуты","%s минут"],"book_download":"Слушать полностью","book_player_close":"Закрыть плеер","book_listen_on_litravuhe":"Слушай полностью на","book_intro_continuation_text":"В целях <b>поддержки исполнителя<\/b> полная версия аудиокниги временно доступна только на его YouTube-канале. На нашем сайте – через <b>%s<\/b>.","book_intro_continue":"Продолжить прослушивание","book_buy_on_litres":"Купить на ЛитРес","book_reading_singular":"читает","book_reading_plural":"читают","emoji_section_smiles_people":"Люди","emoji_section_animals_nature":"Природа","emoji_section_food_drink":"Еда и напитки","emoji_section_activity":"Активность","emoji_section_travel_places":"Путешествия","emoji_section_objects":"Объекты","emoji_section_symbols":"Символы","emoji_section_flags":"Флаги","comment_is_deleted":"Комментарий удалён.","comment_restore":"Восстановить","comment_delete":"Удалить","comment_delete_tree_confirm":"Подтвердите удаление всей ветки комментариев. Восстановить будет невозможно.","comments_like":"Нравится","comments_dislike":"Не нравится","comments_auth_to_vote":"Авторизуйтесь, чтобы проголосовать","comment_edit":"Редактировать","comment_delete_tree":"Удалить ветку","save":"Сохранить","send":"Отправить","comment_edited":"изменён","comments_insert_spoiler":"Вставить спойлер","comments_subscribe_to_new_na_email":"Укажите ваш email в настройках профиля чтобы подписаться","comments_subscribe_to_new_na_auth":"Авторизуйтесь, чтобы подписаться","book_comments_restricted":"Вам запрещено комментирование","comment_close_reply_form":"Закрыть форму ответа","comment_cancel_editing":"Отменить редактирование","comments_tab_order":"По порядку","comments_tab_new":"Новые","comments_tab_best":"Лучшие","book_more_info":"Подробнее","book_cover_full_size_promo":"Нажмите на постер, чтобы посмотреть его в полном размере","book_mark_completed":"Добавить в прослушанные","book_unmark_completed":"Убрать из прослушанных"});
cur.actionsToken = null;
whenReady(function() {
var BookPlayer = lib('BookPlayer');
var Comments = lib('Comments');
var BookControls = lib('BookControls');
var EmojiPicker = lib('EmojiPicker');
var ReaderVerified = lib('ReaderVerified');
/*
var player = new BookPlayer(33605, [{"id":1922846,"title":"1","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":777,"duration_float":776.66},{"id":1922847,"title":"2","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1243,"duration_float":1242.66},{"id":1922848,"title":"3","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1264,"duration_float":1263.77},{"id":1922849,"title":"4","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1207,"duration_float":1207.38},{"id":1922850,"title":"5","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1351,"duration_float":1351.41},{"id":1922851,"title":"6","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1333,"duration_float":1332.73},{"id":1922852,"title":"7","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1385,"duration_float":1385.39},{"id":1922853,"title":"8","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1801,"duration_float":1800.87},{"id":1922854,"title":"9","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1113,"duration_float":1112.57}], [{"label":"0.5x","value":0.5},{"label":"0.6x","value":0.6},{"label":"0.7x","value":0.7},{"label":"0.8x","value":0.8},{"label":"0.9x","value":0.9},{"label":"1x","value":1},{"label":"1.05x","value":1.05},{"label":"1.1x","value":1.1},{"label":"1.15x","value":1.15},{"label":"1.2x","value":1.2},{"label":"1.25x","value":1.25},{"label":"1.3x","value":1.3},{"label":"1.35x","value":1.35},{"label":"1.4x","value":1.4},{"label":"1.45x","value":1.45},{"label":"1.5x","value":1.5},{"label":"1.75x","value":1.75},{"label":"2x","value":2},{"label":"2.5x","value":2.5},{"label":"3x","value":3}], [{"label":"\u0432\u044b\u043a\u043b","value":0},{"label":"10 \u043c\u0438\u043d","value":10},{"label":"20 \u043c\u0438\u043d","value":20},{"label":"30 \u043c\u0438\u043d","value":30},{"label":"40 \u043c\u0438\u043d","value":40},{"label":"50 \u043c\u0438\u043d","value":50},{"label":"60 \u043c\u0438\u043d","value":60},{"label":"70 \u043c\u0438\u043d","value":70},{"label":"80 \u043c\u0438\u043d","value":80},{"label":"90 \u043c\u0438\u043d","value":90},{"label":"100 \u043c\u0438\u043d","value":100}], false, false, "61a0e41c736a1493a05b");
*/
var player = new BookPlayer(33605, [{"id":1922846,"title":"1","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/1.mp3","error":0,"duration":777,"duration_float":776.66},{"id":1922847,"title":"2","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/2.mp3","error":0,"duration":1243,"duration_float":1242.66},{"id":1922848,"title":"3","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/3.mp3","error":0,"duration":1264,"duration_float":1263.77},{"id":1922849,"title":"4","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/4.mp3","error":0,"duration":1207,"duration_float":1207.38},{"id":1922850,"title":"5","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/5.mp3","error":0,"duration":1351,"duration_float":1351.41},{"id":1922851,"title":"6","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/6.mp3","error":0,"duration":1333,"duration_float":1332.73},{"id":1922852,"title":"7","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/7.mp3","error":0,"duration":1385,"duration_float":1385.39},{"id":1922853,"title":"8","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/8.mp3","error":0,"duration":1801,"duration_float":1800.87},{"id":1922854,"title":"9","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/9.mp3","error":0,"duration":1113,"duration_float":1112.57}], [{"label":"0.5x","value":0.5},{"label":"0.6x","value":0.6},{"label":"0.7x","value":0.7},{"label":"0.8x","value":0.8},{"label":"0.9x","value":0.9},{"label":"1x","value":1},{"label":"1.05x","value":1.05},{"label":"1.1x","value":1.1},{"label":"1.15x","value":1.15},{"label":"1.2x","value":1.2},{"label":"1.25x","value":1.25},{"label":"1.3x","value":1.3},{"label":"1.35x","value":1.35},{"label":"1.4x","value":1.4},{"label":"1.45x","value":1.45},{"label":"1.5x","value":1.5},{"label":"1.75x","value":1.75},{"label":"2x","value":2},{"label":"2.5x","value":2.5},{"label":"3x","value":3}], [{"label":"\u0432\u044b\u043a\u043b","value":0},{"label":"10 \u043c\u0438\u043d","value":10},{"label":"20 \u043c\u0438\u043d","value":20},{"label":"30 \u043c\u0438\u043d","value":30},{"label":"40 \u043c\u0438\u043d","value":40},{"label":"50 \u043c\u0438\u043d","value":50},{"label":"60 \u043c\u0438\u043d","value":60},{"label":"70 \u043c\u0438\u043d","value":70},{"label":"80 \u043c\u0438\u043d","value":80},{"label":"90 \u043c\u0438\u043d","value":90},{"label":"100 \u043c\u0438\u043d","value":100}], false, false, "61a0e41c736a1493a05b");
cur.bookPlayer = player;
lib('index').initSpoilers();
cur.book = {"id":33605,"name":"\u0421\u0435\u0440\u0434\u0446\u0435 \u043e\u0445\u043e\u0442\u043d\u0438\u043a\u0430","genre_id":10,"likes":0,"dislikes":0,"favs":6,"blocked":false,"liked":0,"favored":false,"comments_allowed":true};
cur.controls = new BookControls(null);
cur.comments = new Comments(0, 33605, cur.book.comments_allowed, [], {"comments_post_csrf":"57ae2ec78344f6cef12b","comments_subscribe_csrf":"818850bde7571c1db18f","comments_vote_csrf":"92c5a1fb1e009b044efb","comments_delete_csrf":"25555fecabcee63a3a8c","comments_restore_csrf":"4485afb55680b85d5f89","comments_remove_csrf":"1722ca069d62b162789d"}, null, null);
cur.readerVerified = new ReaderVerified();
cur.readerVerified.init();
var slideUp = lib('widgets').slideUp;
var util = lib('util');
var Cookies = lib('cookies');
function setPanelEvents(id) {
var close = ge(id+'_close');
var moving = ge(id+'_panel');
if (!close || !moving) {
return;
}
addEvent(close, 'click', function(e) {
var cookieOpts = util.getDefaultCookieOptions();
if (id === 'new_design' || id === 'new_design1') {
cookieOpts.expires = 86400 * 5;
}
slideUp(moving, {duration: 100}, function() {
re(moving);
Cookies.set(id+'_hidden', 1, cookieOpts);
});
cancelEvent(e);
});
}
setPanelEvents('moving');
setPanelEvents('new_design1');
setPanelEvents('reciter_vkgroup');
});
domReady();
</script>
Ответы (1 шт):
Автор решения: yar85
→ Ссылка
Без полного соответствия рег. выражения нужным строкам - но зато проще (и работает):
const testStr = getTestStr();
const results = testStr.match(/(?<="url":")https:[^"]+\/audio\/[^"]+/gi);
console.log(results);
// это просто для перемещения огромной входной строки в конец сниппета
function getTestStr() {
return `\u003cscript>
lang.extend({"close":"Закрыть","cancel":"Отмена","ok":"OK","back":"Назад","delete":"Удалить","information":"Информация","confirmation":"Подтверждение","loading":"Загрузка","spoiler_show":"Нажмите, чтобы показать","spoiler_hide":"Нажмите, чтобы скрыть","error":"Ошибка","error_nav_403":"Ошибка доступа.","error_nav_404":"Страница не найдена.","error_nav_500":"Ошибка сервера.","show_all":"Показать все","hide":"Скрыть","hint":"Подсказка","reader_on_site":"Чтец на сайте","author_on_site":"Автор на сайте","books_count":["%s книга","%s книги","%s книг","нет книг"],"header_search_not_found":"По запросу <b>%s<\/b> ничего не найдено.","header_search_no_results":"Нет результатов","header_search_results":"Результаты поиска","header_search_label_authors":"Авторы","header_search_label_readers":"Исполнители","header_search_label_series":"Циклы","header_search_label_books":"Аудиокниги","header_search_label_total":"всего <b>%s<\/b>","header_search_book_author":"автор","header_search_book_authors":"авторы","header_search_book_reader":"читает","header_search_book_readers":"читают","header_search_show_all":"Показать все результаты","header_search_show_all_n_books":["Показать %s книгу","Показать все %s книги","Показать все %s книг"],"header_search_show_all_n_series":["Показать %s цикл","Показать все %s цикла","Показать все %s циклов"],"header_search_show_all_n_authors":["Показать %s автора","Показать всех %s авторов","Показать всех %s авторов"],"header_search_show_all_n_readers":["Показать %s исполнителя","Показать всех %s исполнителей","Показать всех %s исполнителей"],"header_search_tab_all":"Все результаты","header_search_tab_books":"Книги","header_search_tab_readers":"Исполнители","header_search_tab_authors":"Авторы","header_search_tab_series":"Циклы","header_search_history_error":"Ошибка загрузка истории.","input_hints_empty":"Ничего не найдено.","book_auth_to_add":"Авторизуйтесь, чтобы добавить","book_auth_to_vote":"Авторизуйтесь, чтобы оценить","book_faves_add":"На полку","book_faves_added":"На полке","book_faves_remove":"Убрать с полки","book_like":"Мне нравится","book_dislike":"Мне не нравится","book_likes_restricted":"Вам запрещено оценивать","catalog_subscribe":"Подписаться","catalog_subscribed":"Вы подписаны","catalog_author_subscribe":"Подписаться на автора","catalog_author_subscribed":"Вы подписаны на автора","catalog_reader_subscribe":"Подписаться на исполнителя","catalog_reader_subscribed":"Вы подписаны на исполнителя","catalog_serie_subscribe":"Подписаться на цикл","catalog_serie_subscribed":"Вы подписаны на цикл","catalog_genre_subscribe":"Подписаться на жанр","catalog_genre_subscribed":"Вы подписаны на жанр","book_player_next":"Следующий трек","book_player_prev":"Предыдущий трек","book_player_forward":"Вперёд на 15 сек.","book_player_backward":"Назад на 15 сек.","book_player_content":"Содержание","book_player_autopause_off":"выкл.","minutes_count":["%s минута","%s минуты","%s минут"],"book_download":"Слушать полностью","book_player_close":"Закрыть плеер","book_listen_on_litravuhe":"Слушай полностью на","book_intro_continuation_text":"В целях <b>поддержки исполнителя<\/b> полная версия аудиокниги временно доступна только на его YouTube-канале. На нашем сайте – через <b>%s<\/b>.","book_intro_continue":"Продолжить прослушивание","book_buy_on_litres":"Купить на ЛитРес","book_reading_singular":"читает","book_reading_plural":"читают","emoji_section_smiles_people":"Люди","emoji_section_animals_nature":"Природа","emoji_section_food_drink":"Еда и напитки","emoji_section_activity":"Активность","emoji_section_travel_places":"Путешествия","emoji_section_objects":"Объекты","emoji_section_symbols":"Символы","emoji_section_flags":"Флаги","comment_is_deleted":"Комментарий удалён.","comment_restore":"Восстановить","comment_delete":"Удалить","comment_delete_tree_confirm":"Подтвердите удаление всей ветки комментариев. Восстановить будет невозможно.","comments_like":"Нравится","comments_dislike":"Не нравится","comments_auth_to_vote":"Авторизуйтесь, чтобы проголосовать","comment_edit":"Редактировать","comment_delete_tree":"Удалить ветку","save":"Сохранить","send":"Отправить","comment_edited":"изменён","comments_insert_spoiler":"Вставить спойлер","comments_subscribe_to_new_na_email":"Укажите ваш email в настройках профиля чтобы подписаться","comments_subscribe_to_new_na_auth":"Авторизуйтесь, чтобы подписаться","book_comments_restricted":"Вам запрещено комментирование","comment_close_reply_form":"Закрыть форму ответа","comment_cancel_editing":"Отменить редактирование","comments_tab_order":"По порядку","comments_tab_new":"Новые","comments_tab_best":"Лучшие","book_more_info":"Подробнее","book_cover_full_size_promo":"Нажмите на постер, чтобы посмотреть его в полном размере","book_mark_completed":"Добавить в прослушанные","book_unmark_completed":"Убрать из прослушанных"});
cur.actionsToken = null;
whenReady(function() {
var BookPlayer = lib('BookPlayer');
var Comments = lib('Comments');
var BookControls = lib('BookControls');
var EmojiPicker = lib('EmojiPicker');
var ReaderVerified = lib('ReaderVerified');
/*
var player = new BookPlayer(33605, [{"id":1922846,"title":"1","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":777,"duration_float":776.66},{"id":1922847,"title":"2","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1243,"duration_float":1242.66},{"id":1922848,"title":"3","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1264,"duration_float":1263.77},{"id":1922849,"title":"4","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1207,"duration_float":1207.38},{"id":1922850,"title":"5","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1351,"duration_float":1351.41},{"id":1922851,"title":"6","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1333,"duration_float":1332.73},{"id":1922852,"title":"7","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1385,"duration_float":1385.39},{"id":1922853,"title":"8","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1801,"duration_float":1800.87},{"id":1922854,"title":"9","url":"https:\/\/s1.knigavuhe.org\/2\/0.mp3","error":0,"duration":1113,"duration_float":1112.57}], [{"label":"0.5x","value":0.5},{"label":"0.6x","value":0.6},{"label":"0.7x","value":0.7},{"label":"0.8x","value":0.8},{"label":"0.9x","value":0.9},{"label":"1x","value":1},{"label":"1.05x","value":1.05},{"label":"1.1x","value":1.1},{"label":"1.15x","value":1.15},{"label":"1.2x","value":1.2},{"label":"1.25x","value":1.25},{"label":"1.3x","value":1.3},{"label":"1.35x","value":1.35},{"label":"1.4x","value":1.4},{"label":"1.45x","value":1.45},{"label":"1.5x","value":1.5},{"label":"1.75x","value":1.75},{"label":"2x","value":2},{"label":"2.5x","value":2.5},{"label":"3x","value":3}], [{"label":"\u0432\u044b\u043a\u043b","value":0},{"label":"10 \u043c\u0438\u043d","value":10},{"label":"20 \u043c\u0438\u043d","value":20},{"label":"30 \u043c\u0438\u043d","value":30},{"label":"40 \u043c\u0438\u043d","value":40},{"label":"50 \u043c\u0438\u043d","value":50},{"label":"60 \u043c\u0438\u043d","value":60},{"label":"70 \u043c\u0438\u043d","value":70},{"label":"80 \u043c\u0438\u043d","value":80},{"label":"90 \u043c\u0438\u043d","value":90},{"label":"100 \u043c\u0438\u043d","value":100}], false, false, "61a0e41c736a1493a05b");
*/
var player = new BookPlayer(33605, [{"id":1922846,"title":"1","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/1.mp3","error":0,"duration":777,"duration_float":776.66},{"id":1922847,"title":"2","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/2.mp3","error":0,"duration":1243,"duration_float":1242.66},{"id":1922848,"title":"3","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/3.mp3","error":0,"duration":1264,"duration_float":1263.77},{"id":1922849,"title":"4","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/4.mp3","error":0,"duration":1207,"duration_float":1207.38},{"id":1922850,"title":"5","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/5.mp3","error":0,"duration":1351,"duration_float":1351.41},{"id":1922851,"title":"6","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/6.mp3","error":0,"duration":1333,"duration_float":1332.73},{"id":1922852,"title":"7","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/7.mp3","error":0,"duration":1385,"duration_float":1385.39},{"id":1922853,"title":"8","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/8.mp3","error":0,"duration":1801,"duration_float":1800.87},{"id":1922854,"title":"9","url":"https:\/\/s11.knigavuhe.org\/1\/audio\/33605\/9.mp3","error":0,"duration":1113,"duration_float":1112.57}], [{"label":"0.5x","value":0.5},{"label":"0.6x","value":0.6},{"label":"0.7x","value":0.7},{"label":"0.8x","value":0.8},{"label":"0.9x","value":0.9},{"label":"1x","value":1},{"label":"1.05x","value":1.05},{"label":"1.1x","value":1.1},{"label":"1.15x","value":1.15},{"label":"1.2x","value":1.2},{"label":"1.25x","value":1.25},{"label":"1.3x","value":1.3},{"label":"1.35x","value":1.35},{"label":"1.4x","value":1.4},{"label":"1.45x","value":1.45},{"label":"1.5x","value":1.5},{"label":"1.75x","value":1.75},{"label":"2x","value":2},{"label":"2.5x","value":2.5},{"label":"3x","value":3}], [{"label":"\u0432\u044b\u043a\u043b","value":0},{"label":"10 \u043c\u0438\u043d","value":10},{"label":"20 \u043c\u0438\u043d","value":20},{"label":"30 \u043c\u0438\u043d","value":30},{"label":"40 \u043c\u0438\u043d","value":40},{"label":"50 \u043c\u0438\u043d","value":50},{"label":"60 \u043c\u0438\u043d","value":60},{"label":"70 \u043c\u0438\u043d","value":70},{"label":"80 \u043c\u0438\u043d","value":80},{"label":"90 \u043c\u0438\u043d","value":90},{"label":"100 \u043c\u0438\u043d","value":100}], false, false, "61a0e41c736a1493a05b");
cur.bookPlayer = player;
lib('index').initSpoilers();
cur.book = {"id":33605,"name":"\u0421\u0435\u0440\u0434\u0446\u0435 \u043e\u0445\u043e\u0442\u043d\u0438\u043a\u0430","genre_id":10,"likes":0,"dislikes":0,"favs":6,"blocked":false,"liked":0,"favored":false,"comments_allowed":true};
cur.controls = new BookControls(null);
cur.comments = new Comments(0, 33605, cur.book.comments_allowed, [], {"comments_post_csrf":"57ae2ec78344f6cef12b","comments_subscribe_csrf":"818850bde7571c1db18f","comments_vote_csrf":"92c5a1fb1e009b044efb","comments_delete_csrf":"25555fecabcee63a3a8c","comments_restore_csrf":"4485afb55680b85d5f89","comments_remove_csrf":"1722ca069d62b162789d"}, null, null);
cur.readerVerified = new ReaderVerified();
cur.readerVerified.init();
var slideUp = lib('widgets').slideUp;
var util = lib('util');
var Cookies = lib('cookies');
function setPanelEvents(id) {
var close = ge(id+'_close');
var moving = ge(id+'_panel');
if (!close || !moving) {
return;
}
addEvent(close, 'click', function(e) {
var cookieOpts = util.getDefaultCookieOptions();
if (id === 'new_design' || id === 'new_design1') {
cookieOpts.expires = 86400 * 5;
}
slideUp(moving, {duration: 100}, function() {
re(moving);
Cookies.set(id+'_hidden', 1, cookieOpts);
});
cancelEvent(e);
});
}
setPanelEvents('moving');
setPanelEvents('new_design1');
setPanelEvents('reciter_vkgroup');
});
domReady();
\u003c/script>`;
}
Разбор регулярки, по основным частям:
(?<="url":")https:- буквальноhttps:если следует сразу после"url":"(то есть, после имени свойства в объекте, и открывающей кавычки значения)
// начало захватываемой подстроки (URL у нас начинаются сhttps:)[^"]+- любое количество (но >0) любых символов кроме"
// просто поглощает все символы до закрытия строки или до/audio/(см. далее)\/audio\/[^"]+- буквально/audio/и следом любое количество (>0) не-кавычек
// это захватывает оставшуюся часть URL (то есть, захватывает все символы до кавычки"закрывающей значение объектного свойстваurl)