簡體   English   中英

序列號匹配的正則表達式

[英]Regular expression for serial number matching

我需要編寫一個正則表達式來檢查序列號是否與以下格式匹配:

XX-XXXXX-XXXXXX

示例:50-99627-036043

條件的簡要說明:

  • 必須正好為15個字符長
  • 只能包含數字-不能包含字母
  • 位置2和8的破折號(從0開始計數)

我已經用txt2re.com生成了以下內容,但是它不起作用,我不確定如何調試它:

(\\d)(\\d)(-)(\\d)(\\d)(\\d)(\\d)(\\d)(-)(\\d)(\\d)(\\d)(\\d)(\\d)(\\d)

任何幫助,將不勝感激。

您可以使用:

\d{2}-\d{5}-\d{6}

有正則表達式的一個以上的方言所以,在沒有知識,為你使用哪一個,它可能是最好只使用構造,它們通常有。

那將是:

^[0-9]{2}-[0-9]{5}-[0-9]{6}$

並非所有的正則表達式引擎將支持\\d和我保證你有開始和結束標記,讓你得到正是你想要的格式(除非它整個字符串相匹配,你會發現它錯誤地允許在15個字符的兩側的東西)。

如果出於某種奇怪的原因,您的正則表達式引擎甚至不支持{m,n} -type計數,則需要完全指定每個數字:

^[0-9][0-9]-[0-9][ .... $

嘗試這個。 這個對我有用。

^(\d){2}\-(\d){5}\-(\d){6}$

你可以用這個

[0-9]{2}-[0-9]{5}-[0-9]{6}

要么

\d{2}-\d{5}-\d{6}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM