Помогите с регуляркой на C#!

171
16 мая 2022, 16:10

Есть регулярка, вот она:

(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})<script type=\"text\/javascript\">document\.write\(\"<font class=\w*>:<\\\/font>\"\+\(\w*\^\w*\)\+\(\w*\^\w*\)\+\(\w*\^\w*\)\+\(\w*\^\w*\)\)<\/script><font class=\"\w*\">:<\/font>(\w*)<\/font

Когда я её засунул в VS, нажав кнопку Escape pasted text?, у меня получилась такая регулярка:

(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})<script type=\\\"text\\/javascript\\\">document\\.write\\(\\\"<font class=\\w*>:<\\\\\\/font>\\\"\\+\\(\\w*\\^\\w*\\)\\+\\(\\w*\\^\\w*\\)\\+\\(\\w*\\^\\w*\\)\\+\\(\\w*\\^\\w*\\)\\)<\\/script><font class=\\\"\\w*\\\">:<\\/font>(\\w*)<\\/font

В тестере всё отлично работало, но в коде первый вариант падал с нераспознанная escape-последовательность, а второй не находил не одного Match...
Поэтому обращаюсь за помощью)

Answer 1

Вам поможет verbatim string literal

string pattern = @"(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})<script type=\""text\/javascript\"">document\.write\(\""<font class=\w*>:<\\\/font>\""\+\(\w*\^\w*\)\+\(\w*\^\w*\)\+\(\w*\^\w*\)\+\(\w*\^\w*\)\)<\/script><font class=\""\w*\"">:<\/font>(\w*)<\/font";

Экранирование кавычек здесь делается через двойные кавычки "", остальное не надо экранировать.

А то что Base64 не раскодировать в C# - впервые слышу.

string base64 = "0JzQndCe0JPQniDQotCQ0JrQmNClINCt0JvQldCc0JXQndCi0J7Qkiwg0J3QlSDQntCU0JjQnSE=";
string text = Encoding.UTF8.GetString(Convert.FromBase64String(base64));
Console.WriteLine(text);

Вывод

МНОГО ТАКИХ ЭЛЕМЕНТОВ, НЕ ОДИН!
READ ALSO
Не могу синхронизировать потоки c#

Не могу синхронизировать потоки c#

Задание: Необходимо разработать программу, в которой было реализовано два потока (нити)Эти потоки должны запускаться одновременно и сортировать...

140
Index was outside the bounds of the array

Index was outside the bounds of the array

Если честно, даже предположений нет в чём ошибкаВозникает после запуска в одном из двух мест, в зависимости от того, какое из чисел больше

303
Цикл по получению значения из JSON

Цикл по получению значения из JSON

Есть такой код, который работает до получения финального значения из JSONСам файл выглядит примерно вот так:

180