php正则数字
‘壹’ php 正则表达式 匹配数字
没看懂什么意思,你给个例子吧,包括原始数据时什么样的,最后结果是什么样的。我看你的语句,你是想把第一个数字后的所有东西都去掉吗?
你的正则不对是因为贪婪匹配的原因,第一个(.*)就把所有的东西都匹配了,后面的什么都没匹配到。
‘贰’ php 正则表达式 提取字符串内小括号中的数字,只要数字
$str="一二三四五ABN420122(电话:123455)";
preg_match_all("/[^\(]*\(\D*(\d*).*/i",$str,$str_ary);
var_export($str_ary);
exit;
‘叁’ php正则表达式限制数字个数
\d{4} 这个意思其实是可以匹配至少4个连续的数字,就是说123肯定匹配不上,但是像1234,12345,1234abc这种,只要其中有4个数字连续的,都可以匹配上。如果想卡死只匹配四个数字,那么得加上开始和结束符 ^\d{4}$
‘肆’ 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正则字符串,匹配多个字母后边的数字作为参数
按照你的要求编写的PHP正则匹配程序如下
<?php
$str = "r1g2n3s4p5";
$regex="/([rgnsp])(d+)/";
$arr=Array();
preg_match_all($regex,$str,$result);
for($i=0;$i<count($result[1]);$i++){
$arr[$result[1][$i]]=$result[2][$i];
}
var_mp($arr);
?>
‘陆’ Php 正则表达式 提取 “[数字]”
最简单的办法就是把非数字转换为空
<?PHP
$str = '[3]a1a22[26]b2b[123]';
preg_match_all('/\[\d+\]/', $str, $temp);// 正则查找[数字]
foreach ($temp[0] as $v)
{
$num .= $v . ' ';// 组合结果
}
echo preg_replace('/\[|\]/', '', $num);// 替换[]为空
?>
‘柒’ php 正则表达式 只能包含字母和数字
式子:/^[a-zA-Z0-9]+$/u
释义:
(1)“/”:正则表达式的定义,固定的书写形式;
(2)“^”:表示开始;
(3)“[]”:表示一个字符组,匹配包含的任何字符。例如,“[ab]”匹配“plain”中的“a”;
(4)“a-z”:与小写字母a-z匹配的字母范围;
(5)“A-Z”:表示与大写字母A-Z匹配的字母范围;
(6)“0-9”:匹配范围为0-9的数字;
(7)“+”:表示匹配数为一个或多个;
(8)“$”:匹配输入行的结尾。如果设置了RegExp对象的Multiline属性,则$也匹配“ ”或“ ”之前的位置;
(9)“u”:最后一个u是模式修饰符,严格来说,它可以是预定义的常数。表示使用unicode进行匹配。
(7)php正则数字扩展阅读:
其它正则表达式符号的含义:
(1)“*”:与上一个子表达式匹配任意次。例如,zo*匹配“z”以及“zo”和“zoo”。*等效于{0,};
(2)“?”:匹配上一个子表达式零或一次。例如,“做(es)?”匹配“do”或“does”。?等效于{0,1};
(3)“{n}”:n是一个非负整数。匹配被确定n次。例如,“o{2}”不能与“Bob”中的“o”匹配,但是可以与“food”中的两个o匹配;
(4)“{n,}”:n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但是可以匹配“foooood”中的所有o。“o{1,}”等效于“o+”。“o{0,}”等效于“o*”;
(5)“ {n,m}”:m和n是非负整数,其中n <= m。 至少匹配n次,最多匹配m次。 例如,“ o {1,3}”将匹配“ fooooood”中的前三个o作为一个组,最后三个o作为一个组。 “ o {0,1}”等效于“ o?”。 请注意,逗号和两个数字之间不能有空格。
‘捌’ 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正则 匹配 数字0-10
匹配数字0-10的php正则表达式 ^([0-9]|10)$
完整的php程序如下
<?php
$str="10";
$regex="/^([0-9]|10)$/";
if(preg_match($regex,$str)){
print_r("匹配");
}else{
print_r("不匹配");
}
?>
运行结果
匹配
‘拾’ PHP正则提取数字
不需要用正则:
<?php
$foo = '|194318';
$s = explode('|', $foo);
echo $s[1];