首页 > 解决方案 > 正则表达式匹配以提取以空格结尾的文本

问题描述

请帮忙,

我需要从长句中提取文本

正文如下:

Current Balance: INR2,137,381.99 8/9/2020 Impaired normal

我想从上面的文本中提取金额,我使用了正则表达式

(?<=Current Balance:).+(?=/s)

什么都没有……我试过了

(?<=Current Balance:).+(?=Impaired)并显示结果: AED2,137,381.99 8/9/2020

所以我只想注意以空格结尾的文本(日期不是静态的),有人可以帮忙吗?

标签: javascriptregexregex-groupregex-look-ahead

解决方案


利用

/(?<=Current Balance:\s*)\S+/

证明。它在短语之后匹配一个或多个非空白字符Current Balance,可能后跟任意数量的空白。

const string = "Current Balance: INR2,137,381.99 8/9/2020 Impaired normal";
const regex = /(?<=Current Balance:\s*)\S+/;
console.log(string.match(regex)[0])

或者,使用捕获机制:

/Current Balance:\s*(\S+)/

JavaScript:

const string = "Current Balance: INR2,137,381.99 8/9/2020 Impaired normal";
const regex = /Current Balance:\s*(\S+)/;
console.log(string.match(regex)[1])


推荐阅读