У меня есть регулярное выражение, чтобы соответствовать по крайней мере один специальный символ, одна цифра, символ верхнего регистра и символ нижнего регистра
^.*(?=.*[\W]).*$
Но указанное выше выражение исключает _ (подчеркивание). Я сделал обходной путь, используя
^.*(?=.*[\W_]).*$
Но я не уверен, все другие специальные символы это выражение регулярное выражение исключит. Также, пожалуйста, дайте мне знать, почему [\ W] исключает символы подчеркивания ?. Есть идеи?
Я использую это выражение в vb.net
Поскольку '\ w' соответствует любому из' A-Za-z0-9' и '_', поэтому' \ W' (дополнительный класс символов) исключает вышеуказанные символы. (Предположим, что у механизма регулярных выражений нет расширения Unicode для '\ w'). – nhahtdh
'\ w' /' \ W' ведут себя несколько иначе в разных реализациях. Не могли бы вы включить язык, который вы используете? – Wrikken
Я использую vb.net –