0
我試圖使用preg_match來匹配以零開頭的數字以指示無效輸入。數字如01
,0023
,00.4
無效;但是,諸如0.12
之類的數字是有效的。輸入將是一個計算器條目,如09 * 108 + 0.19 + 4009
。在這種情況下,由於09
,該表達式將無效。PHP - preg_match - 如何匹配以零開頭的數字
到目前爲止,我的表情看起來像:preg_match("/[^1-9]+0[0-9]+/", $subject)
我試圖做的是比賽時零之前的數字任意字符串,但也沒有被數字另一個字符串之前。因此109
有效,但1 + 09無效。但它不適用於像1 + 4009
這樣的情況。
從零開始='^ 0'。 RegEx'^ 0 \ d + $'。不以零開始'^ [^ 0]' – Tushar
也許'0 \。\ d +(* SKIP)(* FAIL)| \ b0 \ d +'。 – chris85
哇!謝謝@ chris85,你的回答很好。我從來沒有見過之前使用的SKIP,FAIL表達式。你能解釋一下他們的意思嗎? –