我创建了以下正则表达式:
(^[%a-zA-Z][\w\-.]+)( [\w\-.]+|[\w\-.]+)([%A-Za-z.]$)
应该允许的字符串,例如
test (working) test test (working) %test (working) test% (working) %test% (working) % (not working)
我尝试了以下方法使%只能工作:
(%|(^[%a-zA-Z][\w\-.]+)( [\w\-.]+|[\w\-.]+)([%A-Za-z.]$))
定义的模式适用于https://www.debuggex.com,但在我的应用程序中失败,模型看起来像:
[Display(Name = "Publisher")] [RegularExpression(@"(%|(^[%a-zA-Z][\w\-.]+)( [\w\-.]+|[\w\-.]+)([%A-Za-z.]$))",ErrorMessage = "Invalid Expression!")] public string SoftwarePublisher { get; set; }
任何意见将是有益的.提前致谢
解决方法
这种模式应该比你的尝试更好,因为它对我有用:
图案
(^|%)((\w+\s?)+)([^\s]$|%)|%
INPUT
case 1: test case 2: test case 3: %test case 4: test% case 5: %test% case 6: %
OUTPUT
case 1: matches case 2: matches case 3: matches case 4: matches case 5: matches case 6: matches
希望它能为你工作或者至少给你一些提示.如果您将在某个网站上测试它,请分别使用所有字符串,因为我正在使用^和$.