2015-06-21 21 views

回答

1

以下preg_replace()函數中的正則表達式模式匹配單個數字(單個數字之前或之後沒有任何數字);然後,該函數將領先0到找到的匹配:

<?php 
$str = "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15"; 
$result = preg_replace('~(?<!\d)\d(?!\d)~', '0$0', $str); 
echo $result; // 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 
?> 
+1

'〜\ b \ d \ b〜'是一個更短的正則表達式,更容易理解。 – axiac

+0

@axiac如果[這是](http://stackoverflow.com/revisions/30964939/2)足夠你,然後使用它;然而,更新後的模式也會檢測''x1-2「'中的單個數字,並將其更改爲'」x01-02「':) – someOne

+0

對於問題中指定的字符串已足夠。 – axiac

1

您可以使用一個簡單的正則表達式是這樣的:

\b(\d)\b 

Working demo

PHP代碼

$str = "3 - 4\n\n3 - 10\n\n1 - 7 "; 
$result = preg_replace('/\b(\d)\b/', "0$1", $str); 

enter image description here

相關問題