需要一个ProductID的正则表达式

时间:2014-01-06 02:31:26

标签: regex vb.net

正则表达式必须满足这些愿望。

首都A.然后是3个或更多可选字符。 正则表达式必须以大写字母X或Y或Z结尾。

必须填满:

A3546sdfsdf6546sdf654Z
A123qze46548X

不得履行:

A123qze46548XY
A123qze46548XYZ

这是我得到的,但它不起作用:

A.{3,}([X]|[Y]|[Z])

这个正则表达式也将实现

 A123qze46548XY
 A123qze46548XYZ

我不喜欢那样。我猜这个Or运算符有问题。

任何帮助?

感谢名单

2 个答案:

答案 0 :(得分:2)

尝试使用正则表达式:

^A.{2,}[^XYZ][XYZ]$
  • [^XYZ]匹配任何非XYZ的字符。

答案 1 :(得分:1)

试试这个:

^A.{3,}\d([X]|[Y]|[Z])$

如果您特别不想在最后一个X | Y | Z之前使用X或Y或Z,但所有其他字符都可以,请执行以下操作:

^A.{3,}(?<![XYZ])[XYZ]$

其中:   ?<!是一个负面的背后隐藏。