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

释义:

"/":表示正则表达式的定义,固定写法。

"^":表示开头。

"[]":表示字符组。专匹配所包含的任意属一个字符。如,“[ab]”匹配“plain”中的“a”。

"a-z":表示匹配小写字母a-z的字母范围。

"A-Z":表示匹配大写字母A-Z的字母范围。

"0-9":表示匹配0-9的数字范围。

"+":表示匹配次数大于等于1。

"$":匹配输入行尾。如果设置了RegExp对象Multiline属性,$也匹配“ ”或“ ”之前的位置。


"u":最后的u是模式修饰符,严格的说可能叫预定义常量。表示使用unicode进行匹配。

(2)php正则匹配数字扩展阅读:

正则表达式的特点是:

1. 灵活性、逻辑性和功能性非常强;

2. 可以迅速地用极简单的方式达到字符串的复杂控制。

3. 对于刚接触的人来说,比较晦涩难懂。

由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。

Ⅲ php正则如何在一个字符串中匹配一个数字

$str_arr[] = '1,11,21,35,41';

$str_arr[] = '1,5,15,21,35,41';

$str_arr[] = '1,5,';

$str_arr[] = '5';


$matche_arr = array();

foreach($str_arr as $value){

if(preg_match('/(^|,)5(,|$)/',$value)){

$matche_arr[] = $value;

}

}


print_r($matche_arr);


Ⅳ php 正则表达式 匹配数字

没看懂什么意思,你给个例子吧,包括原始数据时什么样的,最后结果是什版么样的。我看你权的语句,你是想把第一个数字后的所有东西都去掉吗?
你的正则不对是因为贪婪匹配的原因,第一个(.*)就把所有的东西都匹配了,后面的什么都没匹配到。

Ⅳ php正则表达式字符串中提取数字,并截取其中的6位

1、先把字符串 “b37ba964bb7dfab1869e1cf8” 中的字母(或者说非数字)替换掉,剩下的就都是数字

$string=preg_replace('/[^d]*/','','b37ba964bb7dfab1869e1cf8');
//输出$string=379647186918

2、截取字符串

echosubstr('379647186918',1,4);//第二位开始截4个长度,输出7964
echosubstr('379647186918',2,5);//第三位开始截5个长度,输出96471

Ⅵ php 正则 匹配 括号内数字

你的已经是写“对”了的,只不过你没有提取数字而已。改一下模式:'/\(([\s\S]*?)\)/',这样就能利用$matchPlayers[1]得到你要的数字了。在模式中,括号有子模式的作用,也就是从左到右,括号引起的数据从1开始到n,在匹配结果中用下标1到n提取。$matchPlayers[0]则是总结果。详细参考PHP手册。

Ⅶ 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 正则表达式如何匹配一个有范围的数字

例如34~78
[3][4-9] | [4-6][0-9] | [7][0-8]
其实要拆成几部分34~39,40~69,70~78,我一般这么写,具体要看你的范围大小。如果不太明白可以发准确数字,帮你写个

Ⅸ php正则表达式限制数字个数

\d{4} 这个意复思其实是可以匹配至少4个连制续的数字,就是说123肯定匹配不上,但是像1234,12345,1234abc这种,只要其中有4个数字连续的,都可以匹配上。如果想卡死只匹配四个数字,那么得加上开始和结束符 ^\d{4}$

Ⅹ 求一个PHP正则表达式匹配(字母、数字、汉字、下划线)

^[a-zA-Z0-9_/u4e00-/u9fa5]+$