У меня есть огромная равноширинные строка, которая выглядит, как показано ниже:регулярного выражения - извлечение строк в, специфических позициях
B100000DA3F19C Android 600 AND 2011-08-29 15:03:21.537
352a0D21ffd800000a3a95911801700e iPad 600 iOS 2011-08-29 19:35:12.753
.
.
.
Мне нужно извлечь первую часть (ИН) и четвертую часть (типа устройства - " И "или" iOS "). Первый столбец начинается с 0 и заканчивается в 51-й позиции для всех строк. Четвертая часть начинается с 168 и заканчивается на 171 для всех линий. Длина каждой строки - 244 символа. Если это сложно, другой вариант - удалить все в этом файле, кроме идентификатора и типа устройства. Этот единственный файл содержит около 800 тыс. Записей размером 180 МБ, но Notepad ++, похоже, справляется с этим.
Я попытался выполнить данные импорта SQL Server, но даже если Preview выглядит нормально, когда данные вставлены в таблицу, это неточно.
У меня есть следующий до сих пор, что дает мне первые 51 символов -
^(.{51}).*
Было бы замечательно, если бы я мог бы один регулярное выражение, которое будет держать удостоверение личности и устройства типа и удалить остальные.
Почти там! Это дает мне и дату. Как я могу избавиться от него? Мне нужен только идентификатор и тип устройства. Я сделал это в Notepad ++ - Find What:^(. {51}). {117} (. {3}) Замените:/1/2/3. – tempid
Извините, я действительно не поймал, какую библиотеку регулярных выражений вы используете. Я предполагаю, что он построен в Notepad ++? В любом случае замените его на/1/2 (поскольку у вас есть только два захвата). – axic
Пробовал «\ 1 \ 2», но все же дает мне дату. Да, я использую встроенное regex lib из Notepadd ++. – tempid