<?php
$patterns = array (
'/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/',
'/^\s*{(\w+)}\s*=/'
);
$replace = array ('\3/\4/\1\2', '$\1 =');
echo preg_replace($patterns, $replace, '{startDate} = 1999-5-27');
//為什么結(jié)果為: 而不是:5/27/1999 $startDate =
2014-09-24
詳細解釋下:(19|20)表示取19或者20中任意一個數(shù)字,(\d{2})表示兩個數(shù)字,(\d{1,2})表示1個或2個數(shù)字,(\d{1,2})表示1個或2個數(shù)字。^\s*{(\w+)\s*=}表示以任意空格開頭的,并且包含在{}中的字符,并且以任意空格結(jié)尾的,最后有個=號的。然后你再根據(jù)$replace = array ('\3/\4/\1\2', '$\1 =');對應一下相應的值就可以了。也就是\3表示5,\4表示27,\1表示19,\2表示99,$\1表示$startDate
2018-09-07
我個人理解而言的話 ,就是 ? 這個?preg_relace()函數(shù)的話,只是根據(jù)$replace 變量的中的順序進行替換,而不改變原來字符前面的替換的,個人是這個樣子理解的,感覺有點牽強 ?求各位大佬的詳細解析
2018-09-07
確實是答非所問的 ,一點也沒理解到,并不是讓你去解析 ?什么意思 ?而是輸出的順序的問題
2017-05-20
答非所問
2016-11-16
$replace中$\1,具體什么意思