Подтвердить что ты не робот

Regex соответствует любому символу, отличному от слова, но минус

Мне нужно очистить имена файлов. Поэтому у меня есть этот код:

//\W_ is any non-word character (not [^a-zA-Z0-9_]).
Regex regex = new Regex(@"[\W_]+");
return regex.Replace(source, replacement);

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

[\W_^-]+

Но это не работает. Что я пропустил?

4b9b3361

Ответ 1

Попробуйте использовать это регулярное выражение:

[^\w-]+

Забастовкa >

Изменить:

Кажется, что правильное регулярное выражение:

[^a-zA-Z0-9-]+