Есть ли какой-либо простой путь в C#, чтобы протестировать, если регулярное выражение является регулярным выражением? Другими словами, я хотел бы проверить, уродлив ли обеспеченный пользователями regex шаблон или нет. Это - просто тест синтаксиса и не, чего regex, как предполагается, достигает/тестирует.Спасибо
Для окна необходимо создать новый объект NameScope:
NameScope.SetNameScope(this, new NameScope());
Затем имя метки регистрируется в окне:
RegisterName(statusDisplay.Name, statusDisplay);
Поэтому это все, что нужно сделать, чтобы FindName ()
сработал.
Очень трудно сравнить алгоритмы машинного обучения в целом с точки зрения надежности и точности. Я рассматриваю ниже несколько наиболее известных алгоритмов машинного обучения (это ни путь не полный отчет о вещах, только мое мнение):
Деревья решений: наиболее заметен алгоритм C4.5. Они имеют преимущество в создании легко интерпретируемой модели. Однако они подвержены переоборудованию. Существует множество вариантов.
Байесовские сети имеют сильные статистические корни. Они особенно полезны в областях, где вывод выполняется по неполным данным.
Искусственные нейронные сети широко используются и мощная техника. Теоретически они способны аппроксимировать любую произвольную функцию. Однако они требуют настройки большого количества параметров (структура сети, количество узлов, функции активации,..). Кроме того, они имеют недостаток работы в качестве черного ящика (трудно интерпретировать модель)
. Используя знаменитый трюк ядра, в теории всегда можно достичь 100% разделяемости. В отличие от ANN, они стремятся оптимизировать уникально решаемую задачу (без локальных минимумов). Однако они могут быть ресурсоемкими и трудными для применения в больших наборах данных. SVM определенно являются открытой областью исследований.
Затем существует класс алгоритмов мета-обучения, таких как ансамблевые методы обучения, такие как фасовка в мешки, повышение, укладка и т.д. Они сами по себе не являются полными, а скорее используются в качестве способов улучшения и объединения других алгоритмов.
Я должен упомянуть в конце, что ни один алгоритм не лучше, чем другой в целом, и что решение которого выбрать сильно зависит от области, в которой мы находимся, и данных и как он предварительно обрабатывается среди многих других факторов..
-121--4690786-Можно попробовать передать его конструктору Regex и перехватить потенциал ArgumentException , который выдается, если аргумент является неправильным регулярным выражением.
Я должен сказать, это звучит не очень хорошо . Чрезвычайно небольшому подмножеству компьютерных пользователей, способных правильно вводить регулярное выражение, вероятно, также следует доверять для правильной интерпретации сообщения об исключении. Попытка подтвердить их ввод и ошибиться будет для них достаточным основанием, чтобы сильно рассердиться и удалить вашу программу.
Если опытные программисты на самом деле не являются вашей целевой аудиторией, избегайте регулярных выражений.
Очень трудно сравнить алгоритмы машинного обучения в целом с точки зрения надежности и точности. Я рассматриваю ниже несколько наиболее известных алгоритмов машинного обучения (это ни путь не полный отчет о вещах, только мое мнение):
Деревья решений: наиболее заметен алгоритм C4.5. Они имеют преимущество в создании легко интерпретируемой модели. Однако они подвержены переоборудованию. Существует множество вариантов.
Байесовские сети имеют сильные статистические корни. Они особенно полезны в областях, где вывод выполняется по неполным данным.
Искусственные нейронные сети широко используются и мощная техника. Теоретически они способны аппроксимировать любую произвольную функцию. Однако они требуют настройки большого количества параметров (структура сети, количество узлов, функции активации,..). Кроме того, они имеют недостаток работы в качестве черного ящика (трудно интерпретировать модель)
Поддерживающая векторная машина, возможно, считается одним из самых мощных методов. Используя знаменитый трюк ядра, в теории всегда можно достичь 100% разделяемости. В отличие от ANN, они стремятся оптимизировать уникально решаемую задачу (без локальных минимумов). Однако они могут быть ресурсоемкими и трудными для применения в больших наборах данных. SVM определенно являются открытой областью исследований.
Затем существует класс алгоритмов мета-обучения, таких как ансамблевые методы обучения, такие как фасовка в мешки, повышение, укладка и т.д. Они сами по себе не являются полными, а скорее используются в качестве способов улучшения и объединения других алгоритмов.
Я должен упомянуть в конце, что ни один алгоритм не лучше, чем другой в целом, и что решение которого выбрать сильно зависит от области, в которой мы находимся, и данных и того, как он предварительно обрабатывается среди многих других факторов.
-121--4690786-Инструменты для разработки Chrome великолепны, но, поскольку Chrome не является браузером, вам никогда не придется беспокоиться о производительности JS, и это многое оптимизирует, это не очень помогает в поиске узких мест других браузеров. IE 8 имеет инструменты для разработки , которые позволяют профилировать, поэтому вы можете найти это полезным, помимо обычного профилировщика Firebug.
Но что касается вашей ситуации, позвольте мне сказать, что просто привязка события не приводит к большой загрузке процессора, скорее к проблеме с памятью, но вы не должны беспокоиться, если вы не делаете что-то необычное на своей странице.
Кроме того, если вы обеспокоены, в частности, функцией jQuery.live, позвольте мне быстро объяснить, как она работает:
Допустим, вы делаете $ ('# links Wrap a') .live ('click', fn);
# linkswrap
. # linkswrap
. fn
в контексте ссылки, которая была нажата . Браузер присоединяет только одно событие, поэтому использование памяти невелико, и ему также не нужно постоянно проверять новые элементы, он использует событие пузыря в прохладном пути.
На самом деле можно утверждать, что если вы прикрепляете тысячи событий к странице, метод .live может быть более эффективным, если вы используете хорошие селекторы. (например, .something .foo .bar.baz
требует большого количества проходов и пузырьков, но # parentOfTheLinks a.links
будет быстро)
Вот пример из C # Online .NET , в котором используются исключения:
EDIT:
Удален код, чтобы уважать владельцев авторских прав, на всякий случай. Просто нажмите на вышеуказанную ссылку, чтобы увидеть ее.