[英]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.