[英]Regex is not validation string
嗨,我有下面的正则表达式,我正在使用它来验证字符串表达式:
Regex: ^\d{9}_[a-zA-Z]{1}_(0[1-9]|1[0-2]).(0[1-9]|[1-2][0-9]|3[0-1]).[0-9]{4}_[0-9]{3}_[0-9a-zA-Z]{2}(?:_[0-9a-zA-Z]*)?
String :999999999_A_12.31.2015_000_3Q_cdvknv
我期望的是,如果用户在字符串下面输入内容,则该内容不应与我的正则表达式匹配:
String :999999999_A_12.31.2015_000_3Qwe_cdvknv
但是,我没有显示错误的形式,而是检查了匹配情况,我尝试使用在线验证程序,但找不到正确的情况。 请提出建议。 我正在使用vb.net。
我认为您可以通过添加锚点来解决此问题:
^\d{9}_[a-zA-Z]_(0[1-9]|1[0-2]).(0[1-9]|[1-2][0-9]|3[0-1]).[0-9]{4}_[0-9]{3}_[0-9a-zA-Z]{2}(?:_[0-9a-zA-Z]*)?$
^
观看演示
$
是字符串结尾锚,它将强制字符串在3Q
之后结束。 如果还有其他字符而不是_xxx
,则匹配将失败。
请注意,如果您需要检查较大句子中的部分匹配项,则最好使用\\b
单词边界而不是$
。
并注意{1}
是多余的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.