关于正则表达式:Javascript查找字符后的数字(冒号)

Javascript to find number after character (colon)

本问题已经有最佳答案,请猛点这里访问。

我看过这个问题的其他答案,以前也有类似的答案,但我就是没法解决。我对javascript不太熟悉,所以请友好一点。

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

例如,电子邮件正文示例:

1
2
3
4
5
...  
customer reference number: 123456  
or  
site reference number : 827893  
...

那么这个参考号"123456"或者不管它是什么,都需要是一个变量/值,我将在其他地方使用。

我不想要数字之前的任何东西,也不想要数字之后的任何东西(例如下一行)。

尝试过:

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

但它返回了number: 1234

我认为江户十一〔一〕不是我最好的解决办法。

Edit, I couldn't respond to my own question, and comments don't let me format nicely.

< /块引用>

谢谢,尽管这在regex检查器中有效,但试图在数据库上下文中使用它,但没有起作用。我还在努力。

1
2
3
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行的语法?AS

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


亚历克斯已经给了你答案:str.match(/number\:\s+(\d+)$/i)[1],也就是指数1的结果。数组中的索引是通过在regex中使用()生成的。第一个索引(0)是您得到的答案。