Другая важная причина, по которой сеансы не могут работать, воспроизводится с настройками cookie сеанса, например. время жизни cookie сеанса до 0 или других низких значений из-за простой ошибки или другого разработчика по какой-либо причине.
session_set_cookie_params(0)
Следующее должно делать то, что вы хотите:
var input = "M20A1070D03D0480A20B";
var regex = new Regex("[A-Z][0-9]{2}[A-Z]([0-9]{4})?");
foreach(var match in regex.Matches(input).Cast<Match>().Select(x=>x.Value))
{
Console.WriteLine(match);
}
Вывод:
M20A1070
< / blockquote>
D03D0480
A20BРегулярное выражение в основном говорит, что совпадает с основным шаблоном, а затем может также совпадать с четырьмя цифрами. Поскольку Regex жадный, он всегда будет принимать четыре дополнительных числа, если они существуют.
Следует отметить, что в настоящее время здесь используются только заглавные буквы (как в вашем примере). Если вам нужен поиск без учета регистра, вам нужно немного его изменить.