我有一個特定的數字格式:1-2345678908765其中第一個數字用' - '和後面的十三個數字分開。我試過使用:想要一個正則表達式來驗證一個數字格式
[]?[0-9]\-^[0-9]{1,13}$
但沒有奏效。
由於提前
桑傑·蘇曼
我有一個特定的數字格式:1-2345678908765其中第一個數字用' - '和後面的十三個數字分開。我試過使用:想要一個正則表達式來驗證一個數字格式
[]?[0-9]\-^[0-9]{1,13}$
但沒有奏效。
由於提前
桑傑·蘇曼
看來你的正則表達式語法是畸形的,第一個問題是,[]?[0-9]
如果使用(PCRE)形成從組匹配任何一個字符一個字符類字符。
否則,[]?
會執行零寬度匹配,因爲您有一個空的可選類。
您還有字符串的開頭^
錨點放置在連字符後面,其中以下數字在該字符串中給定的位置處未聲明。
您可以使用以下正則表達式來代替:
^[0-9]-[0-9]{13}$
說明:
^ # the beginning of the string
[0-9] # any character of: '0' to '9'
- # '-'
[0-9]{13} # any character of: '0' to '9' (13 times)
$ # before an optional \n, and the end of the string
"/^[0-9][-][0-9]{13}$/"
它將匹配單號,followe d由1個hypen開始,隨後是13個數字。
嘗試/^[0-9][\-][0-9]{13}$/gm
您可以在regexr.com
測試出的正則表達式我固定它最後。
[] [0-9] - [0-9] {13}
這方面的工作,請嘗試進行分組,可這是有益的未來如您需要查找和替換。如果你想找到的所有行開始用 「1」:
(^ 1 {1}) - ([0-9] {13})
交換第一和第二值,你pnly需要例如,NotePad ++的「替換」文本框中的「\ 2- \ 1」。
BTW - 請https://www.regex101.com/滿足您的需求。
嘗試:'^ [0-9] - [0-9] {13} $' – alfasin 2015-02-06 19:43:59
那裏有什麼'^'?這表明字符串 – 2015-02-06 19:44:06
@MarcB的開始,但在字符串中間表示否定,仍然不知道爲什麼他使用它... – alfasin 2015-02-06 19:45:22