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