正则可否跳字?该如何处理

WBOY
Freigeben: 2016-06-13 13:46:29
Original
772 Leute haben es durchsucht

正则可否跳字?
正则能否完成下面两个替换?
1.   200320042006   替换为   (2003)(2004)(2006)
说明:把200?替换为(200?)其中?的字符不变

2.;;;;;;;;替换为;;;-;;;;
说明:匹配指定N次数的符号,前N-1不变,第N个替换


如果正则不能,有否其他较简单替代办法?

------解决方案--------------------
//1
$a=200320042006;
echo preg_replace( '/(\d{4})/ ', '(\1) ',$a);
//2
$a= ';;;;;;;; ';
$n=4;
echo preg_replace( '/(;{ '.($n-1). '});/ ', '\1- ',$a);

?>

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage