我需要创建一个单一的正则表达式(使用.NET 3.5 Regex,如果这很重要),它允许以下三种可能性:
[A-Z]{2,3}[A-Z]{2,3}-[A-Z][A-Z0-9]{1,2}[A-Z]{2,3}-[A-Z][A-Z0-9]{1,2}-[A-Z0-9]{2,3}因此BIG,BIG-A9或BIG-A09-SD将匹配,但是BIG-F,BIG-A9S-或BIG-A09-S将不匹配.
我应该澄清一些事情:
我需要匹配整条线,而不仅仅是它的一部分.
我正在尝试为正在键入此字符串的用户提供反馈TextBox.因此,我正在寻找一个正则表达式,我可以用它来测试TextBox的内容,只要它发生变化.例如,当用户键入"A"时,反馈应为负数,因为它们尚未匹配案例1.一旦他们键入"AA",反馈将为正,因为他们已匹配案例1.在键入"AAE"后,他们应该仍然得到积极的反馈,因为他们已经匹配案例1.如果他们输入"AA7",反馈应该是负面的.如果他们继续输入并输入"AAE-",则反馈应该再次为负,因为他们还没有遇到案例2,并且已超过案例1.
我把头发拉出来(剩下的东西很少).
有人在那里知道如何以一种有效的方式表达这一点吗?