[英]Regular expression for specific combination of alphabets and numbers
我正在尝试为以下类型的字符串创建正则表达式:
前缀(XI / YV / XD / YQ / XZ)的组合,仅数字,无“ Z”或“ Z”后缀。
例如, XD35Z
应该通过但XD01HW
不应该通过。
到目前为止,我尝试了以下操作:
@"XD\\d+Z?"
XD35Z
通过,但不幸的是,它也适用于XD01HW
@"XD\\d+$Z"
XD01HW
失败,这是我想要的,但XD35Z
也失败
我也尝试过@"XD\\d{1,}Z"?
但是没有用
我需要一个正则表达式,可以为两种类型的字符串提供适当的结果。
试试这个正则表达式:
^(XI|YV|XD|YQ|XZ){1}\d+Z{0,1}$
我使用大括号来明确限制每个字符/组的允许数量。 并且^
和$
锚确保正则表达式仅匹配整行(字符串)。
此正则表达式检查分为逻辑部分
^(XI|YV|XD|YQ|XZ){1}
以正好允许的前缀之一开头 \\d+
后跟一位或多位数字 Z{0,1}$
以0至1 Z
结尾 您正在滥用代表正则表达式中字符串结尾的$
它应该是: @"^XD\\d+Z?$"
(注意,它出现在Regex的末尾,在Z?
)
遵循所需行为的正则表达式为:
^(XI|YV|XD|YQ|XZ)\d+Z?$
说明:
前缀的组合(XI / YV / XD / YQ / XZ)
^(XI|YV|XD|YQ|XZ)
仅数字
\d+
“ Z”或“ Z”后缀
Z?$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.