簡體   English   中英

PHP-正則表達式匹配這樣的字符串:2012/018843/06?

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

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