Как будет выглядеть шаблон регулярного выражения для каждой строки данного текста?Regex, чтобы соответствовать всем строкам текста, исключая crlf
Я пытаюсь ^(.+)$
, но она включает в себя CRLF ...
Как будет выглядеть шаблон регулярного выражения для каждой строки данного текста?Regex, чтобы соответствовать всем строкам текста, исключая crlf
Я пытаюсь ^(.+)$
, но она включает в себя CRLF ...
Я не уверен, что вы подразумеваете под «совпадением каждой строки данного текста», но вы можете использовать класс символов для исключения символов CR и LF :
[^\r\n]+
Вы пробовали:
^(.+)\r?\n$
Таким образом, группа матч включает в себя все, кроме CRLF, и требует, чтобы новая линия будет присутствовать (Unix по умолчанию), но принимает возврат каретки спереди (по умолчанию Windows).
^\ г \ п $ или жадностью ест \ г (+ == жадный, . +? == не жадный) –
Предполагаете, что вы используете многострочный вариант? В этом случае вам нужно явно сопоставить новую строку с «\ n». (замените «\ r \ n», если необходимо.)
Просто используйте RegexOptions.Multiline.
Многолинейный режим. Изменяет значение ^ и $, чтобы они совпадали в начале и заканчивались, соответственно, любой строкой, , а не только начало и конец всей строки.
Пример:
var lineMatches = Regex.Matches("Multi\r\nlines", "^(.+)$", RegexOptions.Multiline);
формулировка вашего вопроса, кажется, немного непонятно, но это звучит, как вы хотите RegexOptions.Multiline
(в System.Text.RegularExpressions
пространстве имен). Это вариант, который вы должны установить на свой объект RegEx. Это должно привести к тому, что ^
и $
соответствуют началу и концу строки , а не всей строке.
Например: (.? +?).
Regex re = new Regex("^(.+)$", RegexOptions.Compiled | RegexOptions.Multiline);
попробовать это [^ \ г \ п] + –