Найдено результатов: 2

Почему это регулярное выражение быстрее?

Я пишу своего рода клиент Telnet в C#, и часть того, что мне нужно разобрать, - это escape-последовательности ANSI/VT100, в частности, только те, которые используются для цвета и форматирования (подробно здесь ).

Один из методов, который у меня есть, - это найти все коды и удалить их, чтобы я мог отображать текст без форматирования, если это необходимо:

    
public static string StripStringFormating(string formattedString)
{
    if (rTest.IsMatch(formattedString))
        return rTest.Replace(formattedString, string.Empty);
    else
        return formattedString;
}

Я новичок в регулярных выражениях, и мне было предложено использовать это:

static Regex rText = new Regex(@"\e\[[\d;]+m", RegexOptions.Compiled);

Однако это не удалось, если escape-код был неполным из-за ошибки на сервере. Итак, это было предложено, но мой друг предупредил, что это может быть медленнее (это также соответствует другому условию (z) , с которым я могу столкнуться позже):

static Regex rTest = 
              new Regex(@"(\e(\[([\d;]*[mz]?))?)?", RegexOptions.Compiled);

Это не только сработало, но и было на самом деле быстрее и уменьшило влияние на мой текстовый рендеринг. Может кто-нибудь объяснить новичку regexp, почему? :)

regex   ansi    

465   4   16:03, 1st July, 2020


Вставить внутрь ... значения ( SELECT ... FROM ... )

Я пытаюсь создать таблицу INSERT INTO , используя входные данные из другой таблицы. Хотя это вполне осуществимо для многих движков баз данных , я всегда стараюсь вспомнить правильный синтаксис для движка SQL дня ( MySQL , Oracle , SQL Server , Informix и DB2 ).

Есть ли в стандарте SQL (например, SQL-92 ) синтаксис серебряной пули, который позволил бы мне вставлять значения, не беспокоясь о базовой базе данных?

sql   database   syntax   database-agnostic   ansi-sql-92    

454   23   08:30, 11th August, 2020