您的位置:首页 > 编程语言 > PHP开发

PHP正则表达式:将1234567890转换成1,234,567,890 每3位用逗号隔开的形式

2012-07-16 17:23 696 查看
“四项处理”的作用是与字符相匹配,然后根据是否能找到要匹配的字符,从而确定下来是否有符合要匹配样式的位置,在这个过程中,“四项处理”的匹配操作并不会占用目标字符串,它只是纯粹用于位置判断。下面是“四项处理” 的四种语法,分别是前向肯定断言、前向否定断言、 后向肯定断言和后向否定断言:

 

语法     含义

(?=pattern)     前向肯定断言

(?!pattern)     前向否定断言

(?<=pattern)     后向肯定断言

(?<!pattern)     后向否定断言

 

实例:

[php]
view plaincopyprint?

<?php  
//将1234567890转换成1,234,567,890 每3位用逗号隔开的形式。  
$str1 = "1234567890";  
$new_str = preg_replace('/^(\d{1,3})((\d{3})+)$/','$1,$2',$str1);  
$new_str = preg_replace('/(?<=\d{3})(\d{3})/',',$1',$new_str);  
print $new_str."\n";  
?> 

第二种方法:

$num = "1234567890.11";
$num = preg_replace('/(?<=[0-9])(?=(?:[0-9]{3})+(?![0-9]))/', ',', $num);
echo $num;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  正则表达式 php