簡體   English   中英

正則表達式以匹配特定模式

[英]Regex to match specific pattern

我在創建正則表達式方面非常不好,並且我為確保它是一個簡單的愚蠢正則表達式而苦苦掙扎。

我正在使用PHP進行此匹配。 這是我到目前為止所擁有的。

Test string: 8848842356063003
if(!preg_match('/^[0-2]|[7-9]{16}/', $token)) {
    return array('status' => 'failed', 'message' => "Invalid token", 'token' => '');
}

正則表達式必須符合此要求:以0-2或7-9開頭,並且必須有16個字符。 我究竟做錯了什么? 因為我得到了,作為匹配:

array(
  0 => 8
)

我應該得到:

array(
  0 => 8848842356063003
) 

順便說一句:我正在使用PHP Live Regex測試我的正則表達式字符串。

在此先感謝,戰神D。

正則表達式必須符合以下要求:以0-2或7-9開頭,且必須有16個字符

您可以將起始數字放在相同的字符類中,並在匹配另外15個字符后使用結尾錨:

/^[0-27-9].{15}$/

如果只想匹配數字,請使用:

/^[0-27-9]\d{15}$/

暫無
暫無

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

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