2010-09-04 4 views
1

У меня есть огромный список CSV, который нужно разбить на более мелкие части (скажем, группы по 100 значений каждый). Как мне соответствовать 100 строк? Ниже не работает:REGEX: Как совместить несколько строк?

(^.*$){100} 
+1

Какой язык/программа это: Java, C#, Python, Perl, shell script, что? –

+0

На каком языке вы используете? RegEx отличаются на разных языках, поэтому это важно знать для ответа. – Oded

+1

Обычно лучше использовать синтаксический анализ CSV, чем регулярное выражение. – kennytm

ответ

0

Вам не нужно regex для этого, должны быть другие инструменты на вашем языке, даже если его нет, то вы можете сделать простой обработки строк, чтобы получить эти строки.

Однако это регулярное выражение, которое должно соответствовать 100 строк:

/([^\n]+\n){100}/ 

Но вы действительно не должны использовать это, это просто, чтобы показать, как сделать такую ​​задачу, если когда-либо необходимости (он ищет, не являющихся символами новой строки [^\n]+, за которым следует новая черта \n, повторяющаяся за {100} раз).

+0

Это предполагает, что строки заканчиваются на '\ n', что они не обязательно делают. – Tomalak

+0

Да, я имел в виду, что как пример, чтобы показать, как он будет делать такую ​​вещь, больше ничего. Но вы правы, я должен был также упомянуть об этом. – aularon

1

Если необходимо, вы можете использовать (флаги: многострочный, а не глобальный):

(^.*[\r\n]+){100} 

Но, реально, используя регулярные выражения, чтобы найти строки, вероятно, является наихудшим-исполнительской метод, который вы могли бы придумать , Избегайте.

Смежные вопросы