【问题标题】:Regex Matching to extract a text ending with space正则表达式匹配以提取以空格结尾的文本
【发布时间】:2023-04-10 11:13:02
【问题描述】:

请帮忙,

我需要从长句中提取一段文字

正文如下:

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

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

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

什么也没得到……我试过了

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

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

【问题讨论】:

  • 您应该尝试使用 regex101.com 来帮助您进行正则表达式组合
  • 欢迎来到 SO!规范不是很清楚——假设你想要381.99,是什么阻止你使用\d+\.\d+
  • 你能写出完整的表达吗
  • 我想从 (?

标签: javascript regex regex-group regex-look-ahead


【解决方案1】:

使用

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

proof。它匹配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])

【讨论】:

  • regexstorm.net/tester 在此工具中不起作用
  • @sreenaths Regexstorm 适用于 .NET 正则表达式,您使用的是 JavaScript 还是 .NET?顺便说一句,它似乎有效,请参阅demo
猜你喜欢
  • 1970-01-01
  • 2015-07-20
  • 1970-01-01
  • 1970-01-01
  • 2022-08-02
  • 1970-01-01
  • 2019-04-10
  • 2016-03-26
相关资源
最近更新 更多