Regex 正则表达式从组中排除空白以仅选择一个数字

Regex 正则表达式从组中排除空白以仅选择一个数字,regex,text,numbers,Regex,Text,Numbers,我只需要从文本中提取一个数字(一个浮点数),但我不能删除空格 **更新 这个方法有问题,我只需要考虑数字和‘,’-EUR和‘FAG’之间的规则。 < P>这是我在测试字符串中移除了,(.)。< /P> 您可以使用 -EUR\W*(.*)\W*费用 看 可能在不同的正则表达式引擎中工作的正则表达式变体: -EUR\W*\K.*(?=\W*费用) (?您还可以匹配捕获组1中的数字格式 - EUR\b\D*(\d+(?:,\d+)?)\s+Fee\b -EUR\b匹配-EUR和单词边界 \D

我只需要从文本中提取一个数字(一个浮点数),但我不能删除空格

**更新


这个方法有问题,我只需要考虑数字和‘,’-EUR和‘FAG’之间的规则。

< P>这是我在测试字符串中移除了,(.)。< /P> 您可以使用

-EUR\W*(.*)\W*费用

可能在不同的正则表达式引擎中工作的正则表达式变体:

-EUR\W*\K.*(?=\W*费用)

(?您还可以匹配捕获组1中的数字格式

- EUR\b\D*(\d+(?:,\d+)?)\s+Fee\b
  • -EUR\b
    匹配
    -EUR
    和单词边界
  • \D*
    匹配除数字以外的任何字符的0+倍
  • Capturegroup 1
    • \d+(?:,\d+)
      将1+位与可选的小数部分匹配
  • 关闭第1组
  • \s+Fee\b
    匹配1+空格字符、
    Fee
    和单词边界

您应该使用捕获,
-EUR\s*(.*?)\s*费
,并在代码中获取组1。您可以在某些正则表达式引擎中使用
\K
-EUR\s*\K*(?=\s*费)
,甚至是一个lookback,
(?我尝试了这个方法,但有问题,请查看更新。好的,使用
-EUR\W*(.*))W*Field到底对你有用吗?你当然可以使用更复杂的<代码> -EU\W*(\D[[,\D] *)\W*Fiel\B/Eng>模式,但是我假设你总是有数字/号码在<代码> EU> <代码>和<代码>费用< /代码>。我需要考虑一个带有逗号、“介于”、“EUR”和“费”之间的浮标。