簡體   English   中英

正則表達式獲取匹配模式后的數字

[英]Regex to get number after matched pattern

我創建了一個正則表達式模式來匹配以下內容:

'x': 10.61                # Any number, can be negative

正則表達式'x':\\s[-+]?\\d*\\.*\\d+

但是,我只想獲取數字 ,因此嘗試了以下操作:

re.findall("'x':\K\s[-+]?\d*\.*\d+", info)

但是據我了解, \\K在python上不起作用。

是否有其他匹配的選擇 ,例如:僅10.61

這應該工作:

info = "'x': 10.61"
items = re.findall("'x':\s([-+]?\d*\.*\d+)", info)
print(items[0]) # 10.61

如果您的輸入始終是some char: wanted num ,則可以用定界符:分隔返回的字符串,然后從位置1的返回列表中獲取字符串。

result = re.findall("'x':\s[-+]?\d*\.*\d+", info)
digits = [ i.split(":")[1] for i in result ]

將以下方法與re.match()函數一起使用:

info = "'x': 10.61"
m = re.match(r"'x':\s*?([+-]?\d+([.]\d+)?)", info)
num = m.group(1)
print(num)  # 10.61

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM