c# - 允许特殊字符的正则表达式?

标签 c# regex

下面的正则表达式要求密码有 1 个数字、1 个字符(大写或小写)并且长度至少为 8。但是如果我输入一个特殊的字符,它会返回 false。我不想要求一个特殊的字符,但我想在这种情况下允许它。如何更改此正则表达式以允许使用特殊字符?

Regex.IsMatch(Password, "^(?=.*[0-9])(?=.*[a-zA-Z])\w{8,}$")

最佳答案

将“\w”更改为“.”应该这样做:

Regex.IsMatch(Password, "^(?=.*[0-9])(?=.*[a-zA-Z]).{8,}$")

\w 匹配“单词”字符,这些字符通常不会匹配特殊字符(取决于您对“特殊”的定义和您使用的语言)。
.将匹配除换行符以外的任何字符

关于c# - 允许特殊字符的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1159517/

相关文章:

c# - 在 C# 中高效访问大型对象集合

c# - 在 centos 7 上使用 epoll 和 net core

C# 及时查找所有缺失的段

c# - 在 F# 中访问 IEnumerable 中的项目

c# - 如何获得所选月份的下个月?

regex - 正则表达式的问题

java - 正则表达式根据分割索引处的长度和相邻字符分割字符串

javascript - jQuery - 阻止用户输入字符 '>' 但允许句号

php - 正则表达式替换网页中的单词

javascript - 格式化电子邮件正文的 JSON