我有几个文件试图提取第二组数字:
长度 1.2345 +- 0.765
我正在尝试提取 0.765 或数字。
我尝试了很多正则表达式组合。我要么提取 1.2345 +- 0.765 要么什么也不提取。
有什么建议吗? 谢谢, 戴夫
答案 0 :(得分:0)
您可以找到一组数字或。在第一组数字或 .. 之后出现,并使用正则表达式捕获组。请参阅 regex101.com 以测试您的正则表达式。例如,这里有一种方法可以找到以下模式:没有数字 0 次或多次,然后数字或小数点 1 次或多次,然后没有数字或小数点,然后是第二个数字:
text = 'Length 1.2345 +- 0.765'
number2 = re.sub('[^0-9\.]{0,}[0-9\.]{1,}[^0-9\.]{1,}([0-9\.])', r'\1', text)
print(number2)
# 0.765
答案 1 :(得分:0)
这是另一个正则表达式。
{-# LANGUAGE EmptyCase #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE TypeOperators #-}
import Data.Void
import Data.Type.Equality
foo :: (a :~: b -> Void) -> a -> b -> Int
foo _ _ _ = 0
fooUseGood :: Int
fooUseGood = foo (\case) True () -- accepted, no warning
fooUseBad :: Int
fooUseBad = foo (\case) () () -- warning: Patterns not matched: Refl
这是 regex101 https://regex101.com/r/VV6prY/1