【发布时间】:2014-04-29 13:07:11
【问题描述】:
我正在尝试创建一个正则表达式,允许人们使用“*”作为通配符进行搜索,据我了解,这是非常标准的。对于当前的正则表达式,我有以下内容:
@"($([a-zA-Z0-9!\@#\$%\^&\(\)-_\+\.'`~/=\?\{\}\|]){6,255}|([\w]){0,0})"
当我运行代码并尝试使用通配符进行搜索时,它告诉我“至少需要一个字符”,这让我相信它只是读取通配符部分而不是第一个具有里面的所有人物。我在这个正则表达式中做错了什么?
顺便说一下,这是针对 C# 中的 ASP.NET MVC 3 项目。
Edit::: 此正则表达式是 MVC 3 项目中 ViewModel 的一部分,该正则表达式是视图模型中属性的数据注释的一部分。我不打算将代码放在其他任何地方,而是放在数据注释中,这就是为什么它是一行代码。这是上面代码的完整注释:
[RegularExpression(@"($([a-zA-Z0-9!\@#\$%\^&\(\)-_\+\.'`~/=\?\{\}\|]){6,255}|([\w]){0,0})", ErrorMessageResourceType = typeof(AdminResource), ErrorMessageResourceName = "SearchWildcardError")]
【问题讨论】:
-
对于匹配字符串
terminator,你需要像^ter.*tor这样的正则表达式,假设用户输入了ter*tor
标签: c# regex asp.net-mvc