簡體   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