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

时间:2018-03-06 14:08:15

标签: regex

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

EG:

EU 1.5 UK 2.5 US 3.5

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

(?<=EU)

实施例

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

2 个答案:

答案 0 :(得分:0)

([^EU ^US ^UK]+)

Live demo here

  • 匹配下面列表中不存在的单个字符[^ EU ^ US ^ UK] +
  • + Quantifier - 在一次和无限次之间匹配,尽可能多次,根据需要回馈(贪婪)
  • EU ^ US ^ UK匹配EU ^ SK列表中的单个字符(案例 敏感)

更好的是,如果您对上述字符串的结构绝对肯定,可以通过这种方式跳过所有文本:

([^A-Za-z ]+)

答案 1 :(得分: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