javascript - 正则表达式无法正常工作,不应该返回 null

标签 javascript regex

我知道那里有一百万个正则表达式问题,我向你保证我已经阅读了其中一百万个 -1!这只是不适合我的事情之一。我正在尝试提取价格数字(是否为小数)和商品名称(价格数字和 < br/> 之间的所有内容)

输入:

var content = "$22 M Uniform <br/>" 

或者类似的东西

var content = "$39 Day / Evening Class Tuition  <br/>"

var content = "$12.8 Weekend Class Payment <br/>"

我的代码:

   var itemprice = content.match(/(\d+)(d*(\.\d{1,2}))/);
   var itemname = content.match(/(\s)(.*?)</);

我的问题:

我的itemname正常工作并正确返回,但是当我调试itemprice设置为空时,我的号码搜索器似乎无法在浏览器中工作。这很奇怪,因为当我在这里尝试该代码 http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_regexp_i 时它工作得很好,提取了数字。

对于该网站,我的代码如下所示:

 var str = "$39.56 Day / Evening Class Tuition  <br>";
 var patt1 =/(\d+)(d*(\.\d{1,2}))/;
 var matches = str.match(patt1)
 alert(matches[0]);

最佳答案

带有可选点的简单十进制正则表达式是

/\d+(\.\d{1,2})?/

此处演示 - http://jsfiddle.net/JXdbg/2/

对于美元符号货币检测,我会在其前面加上 $

/\$\d+(\.\d{1,2})?/

关于javascript - 正则表达式无法正常工作,不应该返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13409939/

相关文章:

Java - 如何使用正则表达式修复格式错误的 JSON?

javascript - 从 JSON 获取数据

javascript - 如何让一个类表现得像一个数组?

javascript - 有没有用 JavaScript 实现的图表绘制器?

javascript - 作为内容脚本加载的缩小版 AngularJS 应用程序能够发出 XHR 请求吗?

c# - 遇到无法识别的转义序列继续反转义

javascript - 使用 GreaseMonkey 更改 URL

python - 正则表达式:不在列表中 - Python

javascript - 如何删除由 jQuery 添加的隐藏输入

python - python 中的正则表达式不起作用