Javascript 帮助使用正则表达式捕获数字
我需要从以下字符串中获取价格:Javascript 帮助使用正则表达式捕获数字,javascript,jquery,regex,Javascript,Jquery,Regex,我需要从以下字符串中获取价格: 价格:30 这里需要30,所以我想我应该使用以下正则表达式: ([0-9]+)$ 这在中有效,但在javascript中尝试时返回null console.log(values[1]); // Price: 100 var price = values[1].match('/([0-9]+)$/g'); // null 有什么想法吗?提前感谢您似乎逃过了开放Peren,因此正则表达式正在查找“(90)。您似乎逃过了开放Peren,因此正则表达式正在查找“(90)
价格:30
这里需要30
,所以我想我应该使用以下正则表达式:
([0-9]+)$
这在中有效,但在javascript中尝试时返回null
console.log(values[1]);
// Price: 100
var price = values[1].match('/([0-9]+)$/g');
// null
有什么想法吗?提前感谢您似乎逃过了开放Peren,因此正则表达式正在查找“(90)。您似乎逃过了开放Peren,因此正则表达式正在查找“(90)。尝试以下操作:
var price = values[1].match(/([0-9]+)$/g);
JavaScript支持RegExp文本,您不需要引号和分隔符。.match(/\d+$/)
的行为应该是一样的
另见:
请记住,获取此数据有更简单的方法。例如:
var tokens = values[1].split(': ');
var price = tokens[1];
您还可以按单个空格分割,可能需要添加一些验证。尝试以下操作:
var price = values[1].match(/([0-9]+)$/g);
JavaScript支持RegExp文本,您不需要引号和分隔符。.match(/\d+$/)
的行为应该是一样的
另见:
请记住,获取此数据有更简单的方法。例如:
var tokens = values[1].split(': ');
var price = tokens[1];
您也可以按单个空格分割,可能需要添加一些验证。为什么不使用此选项
var matches = a.match(/\d+/);
然后您可以使用第一个元素(或最后一个)
我的建议是避免在结尾使用$,因为结尾可能有空格。为什么不使用这个
var matches = a.match(/\d+/);
然后您可以使用第一个元素(或最后一个)
我的建议是避免在结尾使用$,因为结尾可能会有空格。在JavaScript中不需要在正则表达式周围加引号。在JavaScript中不需要在正则表达式周围加引号。这同样有效:
var price=values[1]。匹配(“([0-9]+)$”);
这也适用于:
var price=values[1]。匹配(“([0-9]+)$”);
Doh.match()中没有引号。谢谢;DDoh.match()中没有引号谢谢,黛雅,现在说得通了。谢谢!是的,现在说得通了。谢谢!好的。你能解释一下这到底意味着什么吗?我对整个regex交易都不熟悉,所以我只是在尝试rubular,直到我有了一些有效的东西,哈哈。好的。你能解释一下这到底意味着什么吗?我对整个regex交易都不熟悉,所以我只是在尝试rubular,直到我有了这么多我的方法奏效了,哈哈。