Javascript查找字符后的数字(冒号)

时间:2014-01-14 03:14:27

标签: javascript regex string

我已经看过这个问题的其他答案了,因为之前有过类似的问题,但我无法让它发挥作用。我是javascript的新手,所以请善待。

从电子邮件正文中,我需要找到一个以“ number:”结尾的短语,后跟一个数字。

e.g。电子邮件正文样本:

...  
customer reference number: 123456  
or  
site reference number : 827893  
...

然后该参考编号'123456'或其他任何内容,需要是我将在其他地方使用的变量/值。

我在数字之前不需要任何内容​​,并且我不想在数字后面有任何内容(例如下一行)。

试过这个:

var str  = "reference number: 1234";
var RefStr = str.match(/number\:\s+(\d+)$/i)

但它会返回number: 1234

我认为regex对我来说不是最佳解决方案。

  
    

编辑,我无法回答我自己的问题,评论不要让我格式化。

  

谢谢,即使这在正则表达式检查器中工作,尝试在数据库的上下文中使用它,也不起作用。我还在努力。

var str  = email.body_text;
var refStr = str.match((/number\:\s+(\d+)$/i)[1]);
externalReferenceNumberCreate(current.sys_id, 'Client reference number',refStr,'Ref number');

我知道第1行和第3行是正确的,所以也许我弄乱了第2行的语法?正如

我知道这可能是一个特定于产品的查询,也许比我想象的更复杂。

1 个答案:

答案 0 :(得分:0)

Alex已经给出了答案:str.match(/number\:\s+(\d+)$/i)[1],这意味着索引为1的结果。数组中的索引是通过在正则表达式中使用()生成的。第一个索引(0)就是你得到的答案。