Я ищу регулярное выражение, которое будет извлекать 0263563
Regex для извлечения данных из карты прикосновения
из
;010263563=2119?
и 0267829
из
%00000026782904?;010267829=4119?
(Must быть одним и тем же регулярным выражением).
Я ищу регулярное выражение, которое будет извлекать 0263563
Regex для извлечения данных из карты прикосновения
из
;010263563=2119?
и 0267829
из
%00000026782904?;010267829=4119?
(Must быть одним и тем же регулярным выражением).
Начинать с 3-го символа после запятой и принимать 7 символов.
;..(\d{7})
или более общий:
;..(.{7})
Или согласно комментарий: "Для того, чтобы уточнить символы взять две цифры"
;\d\d(\d{7})
Ниже приведенное регулярное выражение должно состоять из 7 цифр, которым должно предшествовать ;
, любые два символа.
(?<=;.{2})\d{7}
Код:
String input = @";010263563=2119?
%00000026782904?;010267829=4119?";
Regex rgx = new Regex(@"(?<=;.{2})\d{7}");
foreach (Match m in rgx.Matches(input))
Console.WriteLine(m.Groups[0].Value);
Выход:
0263563
0267829
Ну, вам это нужно:
;\d{2}(\d+)
Первая группа будет содержать нужный номер.
;[\S]{2}([\S]{7})
Поскольку вы сказали символов и не числа, но он будет работать в любом случае
Для правил, которые, что точный (начало 3 символов после ;
, то следующие 7), вы можете использовать простую подстроку:
string s = "%00000026782904?;010267829=4119?";
var pos = s.IndexOf(';');
var number = s.Substring(pos+3, 7);
И, конечно же, тест действительно ли нашла, что IndexOf;
Предполагая, что регулярное выражение не является абсолютным требованием, вы могли бы использовать:
var input = "%00000026782904?;010267829=4119?";
// output will be: 0267829
var digits = input.SkipWhile(x => x != ';').Skip(3).Take(7).ToArray();
var output = new string(digits);
Как и связаны? –
Игнорируйте все пресечки с запятой и разделите первые 2 цифры? –
'' 010', '= 2119','% 00000' и '04? ;, 010267829 = 4119?' Постоянные части? Они меняются? Каким будет человекоязычное описание того, как собираются данные? Что-то вроде «строка начинается с трех чисел, а затем 10, что меня интересует, а затем ...» –