繁体   English   中英

正则表达式不是验证字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM