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”和“费”之间的浮标。