2011-05-10 3 views

ответ

3

Я не уверен, что вы подразумеваете под «совпадением каждой строки данного текста», но вы можете использовать класс символов для исключения символов CR и LF :

[^\r\n]+ 
0

Вы пробовали:

^(.+)\r?\n$ 

Таким образом, группа матч включает в себя все, кроме CRLF, и требует, чтобы новая линия будет присутствовать (Unix по умолчанию), но принимает возврат каретки спереди (по умолчанию Windows).

+0

^\ г \ п $ или жадностью ест \ г (+ == жадный, . +? == не жадный) –

0

Предполагаете, что вы используете многострочный вариант? В этом случае вам нужно явно сопоставить новую строку с «\ n». (замените «\ r \ n», если необходимо.)

3

Просто используйте RegexOptions.Multiline.

Многолинейный режим. Изменяет значение ^ и $, чтобы они совпадали в начале и заканчивались, соответственно, любой строкой, , а не только начало и конец всей строки.

Пример:

var lineMatches = Regex.Matches("Multi\r\nlines", "^(.+)$", RegexOptions.Multiline); 
0

формулировка вашего вопроса, кажется, немного непонятно, но это звучит, как вы хотите RegexOptions.MultilineSystem.Text.RegularExpressions пространстве имен). Это вариант, который вы должны установить на свой объект RegEx. Это должно привести к тому, что ^ и $ соответствуют началу и концу строки , а не всей строке.

Например: (.? +?).

Regex re = new Regex("^(.+)$", RegexOptions.Compiled | RegexOptions.Multiline); 
Смежные вопросы