Цель: Получить все не алфавитно-цифровые символы, даже если они не являются смежными.
Настройка: У меня есть текстовое поле на странице ASP.Net, которое вызывает код C # позади метода TextChanged. Этот обработчик событий запускает ввод текстового поля для шаблона Regex.
Проблема: Я не могу создать правильный шаблон Regex, который извлекает все не алфавитно-цифровые символы.
Это строка ввода: string titleString = @"%2@#$%^&";
Вот шаблоны C # Regex, которые я пробовал:
string titlePattern = @"(\b[^A-Za-z0-9]+)";
результаты с @#$%^&
(Примечание: если я использую эту входную строку %2@35%^&
, то приведенный выше шаблон регулярного выражения идентифицирует знак @
, а затем %^&
), но никогда не ведущий %
знак).
string titlePattern = @"(\A[^A-Za-z0-9]+)";
Результаты с %
string titlePattern = @"(\b\W[^A-Za-z0-9]+)";
Результаты с @#$%^&
Side Note: Я также запускаю это в консольном приложении MS Visual Studio с циклом foreach
, чтобы собрать все недопустимые символы в коллекцию, и я также протестировал ввод и шаблон, используя веб-сайт: http://regexstorm.net/tester