php正则表达式提取字符串中的数字例子

今天开发采集器,用到从字符串里取数字,后来想到了以下用正则表达式来取。

用正则

 代码如下 复制代码

$str = ereg_replace(‘[^0-9]‘,”,$str);和

$str = preg_replace( ‘/[^\d]/ ‘, ‘ ‘,$str);

例子

 代码如下 复制代码

function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$reg='/(\d{3}(\.\d+)?)/is';//匹配数字的正则表达式
preg_match_all($reg,$str,$result);
if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){
return $result[1][0];
}
return '';
}

如果是小数点呢,我们上面办法显然是不正确的,我们可以进行修改

 代码如下 复制代码

$regexp = '/(\d+)\.(\d+)/is';

<?php
$total = "42.234 EUR 53.218 AUD CAD97.164 311.151 MYR 125.042 NZD GBP84.270 SGD60.227 USD134.400";
preg_match_all('/(\d+)\.(\d+)/is', $total, $arr);
var_export($arr);

?>

结果是我们相要的哦,不信你去试一下吧。

时间: 2024-10-28 08:57:50

php正则表达式提取字符串中的数字例子的相关文章

ASP.NET利用正则表达式提取字符串中的数字

一言不足以毕之,请LOOK代码:               string text = " 订单5|本次付款:4783|本单结清,";             string pat = @"(\d+)";             Regex r = new Regex(pat, RegexOptions.IgnoreCase);             Match m = r.Match(text);             int matchCount = 0;

php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符

 PHP使用正则表达式提取字符串中尖括号<>.小括号().中括号[].大括号{}中的字符示例,需要的朋友可以参考下    代码如下: $str="你好<我>(爱)[北京]{天安门}";    echo f1($str); //返回你好  echo f2($str); //返回我  echo f3($str); //返回爱  echo f4($str); //返回北京  echo f5($str); //返回天安门    function f1($str)  { 

Mysql中实现提取字符串中的数字的自定义函数分享_Mysql

因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字. 该mysql提取出字符串中的数字函数如下: 复制代码 代码如下: CREATE FUNCTION GetNum (Varstring varchar(50)) RETURNS varchar(30) BEGIN DECLARE v_length INT DEFAULT 0; DECLARE v_Tmp varchar(50) default ''; se

提取字符串中的数字

问题描述 Stringstr1="123gege34";String[]wa=str1.split("[a-zA-Z,]+");for(inti=0;i<wa.length;i++){str1=wa[i];System.out.println("数字"+wa[i]);} 这样弄总是感觉不大好,有啥更好的写发吗? 解决方案 解决方案二:这样可以吗呵呵Stringtemp="22235aa33ee3399cceee0088kk&quo

java中正则表达式提取字符串中日期实现代码

你可能需要从一段字符串String或者文本中抽取出或者说是过滤出日期或者时间,可以使用如下程序:  代码如下 复制代码 public String run(String text) {         String dateStr = text.replaceAll("r?n", " ");         dateStr = dateStr.replaceAll("\s+", " ");                   

PHP提取字符串中的数字正则表达式

在网上搜索到这个测试一下发现还可以,但是如果字符长度不d{4} 不定长就不行了  代码如下 复制代码 function findNum($str=''){  if(empty($str)){return '';}  $reg='/(\d{4}(\.\d+)?)/is';//匹配数字的正则表达式  preg_match_all($reg,$str,$result);  if(is_array($result)&&!empty($result)&&!empty($result[

C#中如何提取字符串中的数字

问题描述 哪位大哥教教我,像如下字符串"47.64483,-122.141197"如何将两个数字提取出来? 解决方案 解决方案二:"47.64483,-122.141197".Split("|")解决方案三:引用1楼chinajiyong的回复: "47.64483,-122.141197".Split("|") "47.64483,-122.141197".Split(",&

JS正则表达式提取字符串中所有汉字的脚本

在网上发现有人用vbscript正则表达式实现了这个功能,但代码很厂,偶改成js的了,很短的一段代码: <script type="text/javascript"> var str="怎样从一个Html页面中提取所有汉字呢?不能有其它Html代码."; alert(str.replace(/[^\u4e00-\u9fa5]/gi,"")); </script> [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

Java利用正则表达式提取字符串中有用的信息

最近开发过程中碰到一个问题,就是将网页通过流读进内存然后记录表单中各个属性的id值. 例如:将<input type='text' id='baijinshan' name='baijinshan' >的id记录下来 java代码 package cn.bai.test; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexTest { /** * @param args */ pu