Регулярные выражения. Замена - C#
Формулировка задачи:
Всем привет)Продолжаю разбираться в регулярных выражениях и не получается сделать следующее...
чтобы содержание внутри кавычек было [\s\S]*
при этом нормально находило нужное но только в данном случае не поиск,а замена.
я всячески пытался сделать его устойчивым привязав к чему нибудь...но никак.
вот выражение для поиска b
Входной текст:
Есть какие варианты?
string r = @"(?<=(?:(?:\r\n)|(?:^))b\s\")[\s\S]*(?=(?:(?:\"\r\n)|(?:\"$)))";
a "hello word"
b "_im14%"
c "_im1?5"
d "20"
e "0.60"
f "0.30"
1 "hgy"
2 "-"
3 "777"
4 ""
5"0.!60"
6 "?"-"
7 "tst"w" "s""
Решение задачи: «Регулярные выражения. Замена»
textual
Листинг программы
static void Main(string[] args)
{
var txt = @"
a ""hello word""
b ""_im14%""
c ""_im1?5""
d ""20""
e ""0.60""
f ""0.30""
1 ""hgy""
2 ""-""
3 ""777""
4 """"
5""0.!60""
6 ""?""-""
7 ""tst""w"" ""s""""
";
Console.WriteLine(Regex.Replace(txt, @"(\n[^""]*"")[\s\S-[\n]]*(""\s*)(?<!\n)", "$1Заменено$2", RegexOptions.Multiline));
Console.WriteLine("Готово.");
Console.ReadKey();
}