2
我想匹配這似乎是一個字符串版本號的一切,所以我開始使用此代碼正則表達式匹配的版本號模式
$str = 'ver=4.7.3/asdasd, ver=1, ver=2.5?, ver=4.7, ver=a124bcd12345';
preg_match_all("/ver=(\d+(\.\d{1,2}))/", $str, $output);
// $output
[
"ver=4.7",
"ver=2.5",
"ver=4.7",
],
[
"4.7",
"2.5",
"4.7",
],
[
".7",
".5",
".7",
],
隨着我$output[1]
得到的結果似乎是有,但有它應該符合以下條件:
1. should be a number - ok
2. n.n (4.7) - ok
3. n.n.n (4.7.1) - not being matched (it stops at 4.7)
4. 0.n - ok
但是現在,而不是4.7.3它只返回4.7。
我仍然是一個正則表達式的新手,所以這些東西對我來說仍然是如此可怕。任何幫助將非常感激。
感謝更新的答案,因爲我也很需要檢查字符串'版本='。 – dexterb