⑴ php如何将字符串的数字提取出来。比如$a = '开始10-100结束'。请问怎么将两组数字同时提出,是同时!!!
if(preg_match('#(d+)-(d+)#',$a,$match)){
var_mp($match[1],$match[2]);//括号表示子分组,用下标1-n读取
}
更多正则内容请参考我的博客《我眼里的正则表达式入门教程》
⑵ php怎么把字符串中的数字取出来
解决这个问题的办法,可以使用如下方法:
一、通过遍历字符串,并对字符进行判断。
二、使用正则表达式,取出数字。
⑶ PHP正则表达式提取字符串中小括号中的数字
<?php
$str = "abcd(ab)(1),efg(10),hijk(lmn)(5)"; //可以设置成任意字符串
preg_match_all("|(.*)[(](.*)[)](.*)|isU",$str,$str_ary);
$total = 0;
foreach( $str_ary[2] as $value)
$total += intval($value);
echo $total;
?>
⑷ PHP在字符串中截取出后三位数字并将该数字加一
<?php
$str="abcdefg001";
$num=intval(substr($str,strlen($str)-3,3))+1;
$num=sprintf("%03d",$num);
$str=substr($str,0,strlen($str)-3).$num;
echo$str;
?>
⑸ php代码 字符串有中文也有数字,如何取数字
使用字符串拆分成数组。然后在判断数组元素是否为数值型。
字符串涉及字符编码。比较麻烦。简单点的。替换date 值。
将 “上午”“点”“下午”“晚上”“早上”“中午”等能出现的字符。全部替换成空
⑹ 如何利用PHP 正则表达式从字符串中取整数
preg_match_all 方法
preg_match_all -- 进行全局正则表达式匹配 说明 int preg_match_all ( string pattern, string subject, array matches [, int flags] ) 在 subject 中搜索所有与 pattern 给出的正则表达式匹配的内容并将结果以 flags 指定的顺序放到 matches 中。 搜索到第一个匹配项之后,接下来的搜索从上一个匹配项末尾开始。 flags 可以是下列标记的组合(注意把 PREG_PATTERN_ORDER 和 PREG_SET_ORDER 合起来用没有意义): PREG_PATTERN_ORDER 对结果排序使 $matches[0] 为全部模式匹配的数组,$matches[1] 为第一个括号中的子模式所匹配的字符串组成的数组,以此类推。 <?php preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", "<b>example: </b><div align=left>this is a test</div>", $out, PREG_PATTERN_ORDER); print $out[0][0].", ".$out[0][1]."\n"; print $out[1][0].", ".$out[1][1]."\n"; ?>
出自:http://ke..com/view/2122394.htm?fr=ala0_1_1
按LZ的题就是
preg_match_all ("|\d+|U", $str, $out, PREG_PATTERN_ORDER);
最后的匹配结果在$out[0]这个数组中