У меня есть две строки, program_CRID: «3333313231323132» и series_CRID: «31323132».Как я могу получить одно совпадение с RegEx от начала строки
Программа_CRID создана с тремя сегментами следующим образом: «random_numbers» + «series_CRID» + «episode». Для примера, для program_CRID над ней:
- random_numbers = 3333
- series_CRID = 31323132
- эпизод = 3132
Итак, я хочу, чтобы вычесть random_numbers и series_CRID из program_CRID и только держите эпизод. Обратите внимание, что длина трех сегментов изменяется.
// this snippet is working
var program_CRID = "3333373638353131";
var series_CRID = "3337363835";
var regex = new RegExp("\\d*" + series_CRID, "g");
var episode = program_CRID.replace(regex, "");
// result is 3131
// this one is not working
var program_CRID = "3333313231323132";
var series_CRID = "31323132";
var regex = new RegExp("\\d*" + series_CRID, "g");
var episode = program_CRID.replace(regex, "");
// result is null but should be 3132 (last four numbers of program_CRID)
Я попытался добавления^к вылету и $ в конце регулярного выражения, но не повезло. Я попытался удалить «g» и хорошо, много другого, но все напрасно. Думаю, вторая часть не работает из-за того, что эпизод 3132 совпадает с концом серии_CRID. Пожалуйста помоги.
Кроме того, это мое первое сообщение, поэтому, пожалуйста, будьте нежны.
Вопрос с бонусом: Почему я должен добавить дополнительный \ перед \ d *, чтобы заставить его работать? Согласно документу, я прочитал \ d *, должно быть достаточно. Заранее спасибо.
Если длина всех трех может варьироваться, и все они одинаковы, и нет ничего, что бы их разделило, какова была бы ваша логика, чтобы как-то рассказать им обособленно? Это кажется совершенно невозможным. – adeneo
series_CRID всегда будет частью program_CRID и разделяет random_numbers и эпизод –