0

好吧,不幸的是,自从我使用 REGEX 以来已经有一段时间了,我正在努力想知道为什么它不能与我的项目一起使用。

我使用了 Regex Tester,它说我的两个测试是有效的,但是在我的项目中进行测试时,它们被拒绝了。

1)检查文本以某些字符开头

[RegularExpression("(spAPP)",ErrorMessage = "Stored procedures must begin with spAPP")]

这似乎自己接受 spAPP,但不是我想要的 spAPPabcdef 之类的东西。我正在努力使用 REGEX 找到“忽略其余文本”属性。

2)有点复杂。我对 AD 组有一定的命名约定,所以一个例子是“UK ROLE IT APPLICATION DEV ADMIN”,直到角色名称都有标准(所以我需要检查“UK ROLE IT APPLICATION DEV”。

[RegularExpression(@"((UK|FRANCE|GERMANY|USA)\s(ROLE)\s(IT|NON-IT)\s(APPLICATION)\s(DEV|TEST|LIVE))", ErrorMessage = "Please use AD naming standards.")]

我认为这可能是因为我在所有单词周围都使用了 (),但在我的代码中更容易阅读。我发现的 RegexTester 似乎表明它是正确的,但是在我的 .NET 项目中,它再次拒绝它。

谢谢,

4

1 回答 1

1
  1. ^spAPP.*$
  2. ^((UK|FRANCE|GERMANY|USA)\s(ROLE)\s(IT|NON-IT)\s(APPLICATION)\s(DEV|TEST|LIVE)).*$

后面的 JavaScript 实现RegularExpressionAttribute需要指定^-string 开始和$-string 结束。

见:http ://blog.regexhero.net/2012/09/aspnet-mvc-dataannotations-and.html

于 2012-12-06T17:11:45.580 回答