首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex捕获中间值

Regex捕获中间值
EN

Stack Overflow用户
提问于 2022-11-24 06:34:23
回答 3查看 45关注 0票数 0

我想寻求你的帮助..。

我有一个字符串,在这里我必须得到4.75。我尝试过许多regex表达式,但是我无法让它工作,并且浏览了很多示例。

Regexr图像

代码语言:javascript
复制
Loan Amount Interest Rate

$336,550 4.75 %

到目前为止,下面是我当前的表达式

代码语言:javascript
复制
1. (?<=Interest Rate\s*\n*)([^\s]+).+(?=%)

我要买$336,550,4.75

代码语言:javascript
复制
2. ([^\s]+).(?=%)

导致了多个输出。在我无法共享的整个文本中,还有%中的其他数据。

我只是在4.75之后。我知道我可以通过代码选择第一次匹配(我猜),但现在它不是一个选项。

提前感谢!

我试过不同的正则表达式

EN

回答 3

Stack Overflow用户

发布于 2022-11-24 06:49:51

你只需要提取"4.75 %“?试试这个:

代码语言:javascript
复制
(?<=Interest Rate\n\n\$\d{3},\d{3}\s)(\d{1,5}\.\d{1,5}\s%)
票数 0
EN

Stack Overflow用户

发布于 2022-11-24 09:00:09

由于lookbehind中具有可变长度模式的regex可以工作,所以可以使用以下符合.NET的regex:

代码语言:javascript
复制
(?<=Interest Rate\s+\S+\s+)(\S+)(?=\s*%)

regex演示

详细信息

  • (?<=Interest Rate\s+\S+\s+) -需要Interest Rate、一个或多个空白空间、一个或多个非空白空间以及立即位于当前位置左侧的一个或多个空白空间。
  • (\S+) -第1组:一个或多个非空白字符
  • (?=\s*%) -一个积极的前瞻性,需要零或多个空白空间,然后立即在当前位置右侧的%字符。
票数 0
EN

Stack Overflow用户

发布于 2022-11-24 06:50:50

嗨请尝尝这个。

代码语言:javascript
复制
[0-9]+.[0-9]+
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74556507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档