У меня есть список чисел, разделенных запятыми. Мне нужно сопоставить все до, но не включая число, которое я передаю без запятой.
Это пример строки, которую я буду искать:
1,2,3,5,11,12,13
Так что, если я ищу "3", я должен получить "1,2". Если я ищу "12", я должен получить "1,2,3,5,11"
Каждое число появится в строке только один раз.
Я придумал это, которое работает для всего, кроме «1», где оно терпит неудачу по причине, которую я не полностью понимаю. Если я ищу «1», совпадений не должно быть. Я искал решения, но у многих вопросов «совпадения до X» есть уникальная часть строки, которая облегчает жизнь. С номерами один номер может быть частью другого номера, например, «3» и «13».
(.*?)(?=,?[^0-9]5)
Я знаю, что мог бы сделать это с разбивкой строк, и я вполне могу в конечном итоге сделать это таким образом. Однако, поскольку я начал пытаться и у меня не так много возможностей расширить свои знания о регулярных выражениях, я бы очень хотел найти решение этой проблемы.
Кстати - регулярное выражение со вкусом C #