‘壹’ 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
$string='alkfjlda111-444-999alkfd111-444-888lsakf9008';
//第一种
preg_match_all('/d{3}-d{3}-d{3}/',$string,$arr1);
//第二种
preg_match_all('/d{3}/',$string,$arr2);
print_r($arr1);
echo"<hr/>";
print_r($arr2);
‘叁’ php 正则表达式 提取字符串内小括号中的数字,只要数字
$str="一二三四五ABN420122(电话:123455)";
$reg=
'/.*\(.*:(.*)\)/';//
冒号
和$str保持一致
$reg=
'/.*\(.*(\d{6,})\)/';
$reg=
'/.*\(.*[^\d](\d+)\)/';
preg_match_all
($reg,$str,$want);
print_r
($want[1]);
3种正则
都可以
‘肆’ php正则表达式字符串中提取数字,并截取其中的6位
<?php
$str='b37ba964bb7dfab1869e1cf8';
$preg="/d/is";
preg_match_all($preg,$str,$arr);
$temp=implode('',$arr[0]);
echo$temp;//匹配的数字
echo'<br/>'.substr($temp,1,4);//第2位开始取4个
echo'<br/>'.substr($temp,2,5);//第3位开始取5个
?>
‘伍’ php 获取指定字符串的数字 正则
function($str){
$match=false;
$patton="/[0-9]+/";
$match=preg_match($patton,$str);
return $match;
}
//令,请问只匹配12345678还是任何数字?或者其他?
//要求返回位置?是否找到?还是匹配到的东西?
‘陆’ PHP使用正则式获取里面数字
你这个应该是要 js 代码的
‘柒’ 求一段php 正则 提取数字
那改成这个样子就好了:
-------------------------------------------------
<?php
echo "<pre>";
$reg = '/[\S\s]+?\>\D?(\d+)\D?<\/a><\/span>/';
$str = <<<END
<span class="page_num"><a href='1307_2.html'>2</a></span>
<span class="page_num"><a href='1307_3.html'>[3]</a></span>
<span class="page_num"><a href='1307_4.html'>(3)</a></span>
END;
preg_match_all($reg, $str, $matches);
foreach ($matches[1] as $s){
echo $s."<br/>";
}
echo "</pre>";
?>
-------------------------------------------------
解释:
[\S\s]+? 匹配所有字符,包括换行,加?表示不要匹配后面的其它指明的字符
\D 就代替了那些未知的符号
\d+ 匹配数字,比如那两个2或3
匹配所得的数字存储在$matches[1]中,$matches[1]本身就是一个数组
‘捌’ 如何利用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]这个数组中
‘玖’ PHP正则提取数字
不需要用正则:
<?php
$foo = '|194318';
$s = explode('|', $foo);
echo $s[1];
‘拾’ php正则表达式提取数字,字符串中提取数字
<?php
$str="sssefss$2345.1234dddfffeds$456$00.23RR";
$pattern='/$(d+.?d+)/';
if(preg_match_all($pattern,$str,$match)){
echo'<pre>';
print_r($match);
}else{
echo'没有找到!';
}
结果:
Array
(
[0]=>Array
(
[0]=>$2345.1234
[1]=>$456
[2]=>$00.23
)
[1]=>Array
(
[0]=>2345.1234
[1]=>456
[2]=>00.23
)
)