正则表达式后,正则表达式捕获第一个浮点数

问题描述 投票:0回答:2

我需要捕获浮点数和字符串中的已知字符串后的第一个浮点数。

例如:

EU 1.5 UK 2.5 US 3.5

所以我想捕获1.5或2.5,仅用EU或2.5进行检测。

(?<=EU)

例子

我希望能够通过知道欧盟是它之前的第一个字符串来捕获欧盟之后的1.5。

regex
2个回答
0
投票
([^EU ^US ^UK]+)

Live demo here

  • 匹配下面列表中不存在的单个字符[^ EU ^ US ^ UK] +
  • +量词 - 在一次和无限次之间匹配,尽可能多次,根据需要回馈(贪婪)
  • EU ^ US ^ UK匹配EU ^ SK列表中的单个字符(区分大小写)

更好的是,如果您对上述字符串的结构持肯定态度,则可以通过以下方式跳过所有文本:

([^A-Za-z ]+)

0
投票

如果支持lookbehind,则可以使用(?<=EU )(带有空格)。

(?<=EU )[0-9]*\.[0-9]+

您还可以匹配EU并捕获捕获组中的浮动:

EU ([0-9]*\.[0-9]+)

说明

EU       # Match EU and a whitespace
(        # Capturing group
  [0-9]* # Match a digit zero or more times
  \.     # Match a dot
  [0-9]+ # Match a ditig one or more times
)        # Close capturing group
© www.soinside.com 2019 - 2024. All rights reserved.