码迷,mamicode.com
首页 > 其他好文 > 详细

驼峰字符串转换成下划线样式

时间:2014-10-13 13:00:59      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   使用   strong   sp   div   on   

// 驼峰字符串转换成下划线样式
$str = openAPI;
echo $str."<BR>";
echo strtolower(preg_replace(/((?<=[a-z])(?=[A-Z]))/, _, $str)).<br>;
//open_ap

正则表达式补充:

?: 不想被捕获的时候使用 可以提高程序执行速度
$string = April 15, 2003;
$pattern = /(\w+) (\d+), (\d+)/i;
$replacement = ${1}1,$3;
echo preg_replace($pattern, $replacement, $string); 
// 结果显示  April1,2003

这里就用了反向引用   
$replacement  里的 ${1} 代表  (\w+)  ,    $3代表 第2个 (\d+)
这个正则表达式 里 一共有 3个 ()  也就是  可以  用 $1  $2  $3  调用 3个()里的 内容。

也可以使用 \1    \2    \3 来 代替  $1  $2  $3  都是一样的

那接下来 如果把 代码里的 正则表达式 改成下面的

$pattern = /(?:\w+) (?:\d+), (\d+)/i; 
那 这里  只有 一个 () 里的 内容 能使用 
带 ?:的 ()里面内容是不会被 捕获的  ,所以 只能使用 $1 代表最后的 (\d+)
?= / ?<=  这个叫断言,只匹配一个位置

比如,你想匹配一个“人”字,但是你只想匹配中国人的人字,不想匹配法国人的人
就可以用一下表达式
(?=中国)人
所以,楼主的表达式与其他通配符连用才能起到效果。
(?=.*[a-z])\d+
这个就表示 匹配以“任意字符连着一个小写字母”开头的数字,只匹配数字。

(?<=exp)这个是放后面的。

驼峰字符串转换成下划线样式

标签:style   blog   color   os   使用   strong   sp   div   on   

原文地址:http://www.cnblogs.com/leezhxing/p/4021673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!