我已经看过这个问题的其他答案了,因为之前有过类似的问题,但我无法让它发挥作用。我是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行的语法?正如
我知道这可能是一个特定于产品的查询,也许比我想象的更复杂。
答案 0 :(得分:0)
Alex已经给出了答案:str.match(/number\:\s+(\d+)$/i)[1]
,这意味着索引为1的结果。数组中的索引是通过在正则表达式中使用()
生成的。第一个索引(0)就是你得到的答案。