[英]PHP - Regular expressions to match a string like this : 2012/018843/06?
我對正則表達式不是很了解,但是想創建一個正則表達式來驗證這樣的字符串:`2012/018843/06。
如果將來對某人有幫助,我想說的是南非公司注冊號。
如果有人願意發布可以通過PHP處理並與之匹配的正則表達式,那就太好了。 如果不是這樣,那么以這種方式創建正則表達式的“基礎”的任何鏈接將不勝感激!
謝謝。
編輯:
我已經試過了:
[0-9/]{14}
但是它與長度不完全匹配。
以最簡單的形式:
preg_match("|^\d{4}/\d{6}/\d{2}$|", $input);
\\d
令牌與任何0到9的整數匹配, {}
內的整數表示以前的令牌允許重復多少次, /
匹配文字/
因為我正在使用|
作為正則表達式分隔符。
^
令牌是從字符串的開頭開始匹配, $
是從字符串的末尾開始匹配,這樣,諸如aa2012/124521/11bb
將不匹配(否則,如果您取出^$
則將匹配)
數字固定長度嗎? 然后嘗試
preg_match('#^\d{4}/\d{6}/\d{2}$#', $string)
句法:
\\d
是一個轉義序列,表示任何十進制數字(0-9),也可以由[0-9]
表示 {4}
定義最后一個表達式(在本例中為十進制數字)必須出現4次,使用此表達式可避免多次重復前一個表達式,因此\\d{4}
表示\\d\\d\\d\\d
^
表示字符串的開頭, $
表示字符串的結尾,因此可以確保此字符串中沒有其他字符,因此abc2012/018843/06def
類的字符串將不匹配
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.