.*
коротка дляПочему [. R n] * regex не соответствует всем?
[^\r\n]*
Итак, если мы объединим эти
[.\r\n]*
почему не мы получаем регулярное выражение, которое соответствует каждой строке в мире?
.*
коротка дляПочему [. R n] * regex не соответствует всем?
[^\r\n]*
Итак, если мы объединим эти
[.\r\n]*
почему не мы получаем регулярное выражение, которое соответствует каждой строке в мире?
Как и большинство других специальных символов в регулярных выражениях, когда появляется .
с символьным классом, он представляет буквальный символ .
. Если вы хотите, чтобы соответствовать всем символам общий метод использовать что-то вроде этого:
[\s\S]*
Или же вы можете использовать RegexOptions.Singleline
, чтобы указать, что .
должен соответствовать всем символам и просто использовать:
.*
Для Пример:
var input = "foo\r\nbar";
var match = Regex.Match(input, ".*", RegexOptions.Singleline);
Assert.AreEqual(input, match.Value);
Не знаю для реализации C#, но обычно '.' в квадратных скобках в regexp означает только знак' .', а не какой-либо знак. и строки заканчиваются на '\ r \ n' только в файлах, созданных в Windows – alko
да, я тестировал его, и он не работает – foxneZz
try' (. | [\ r \ n]) * '? – phoeagon