![](/img/trans.png)
[英]How to get integer / float number from a string representation ( array of bytes ) delivered to python using zmq / zeromq?
[英]Python Regex to get Float number from string
我正在使用正則表達式來解析字符串中的浮點數。
re.findall("[^a-zA-Z:][-+]?\d+[\.]?\d*", t)
是我使用的代碼。 這段代碼有問題。 如果數字和任何字符之間沒有空格,則不解析數字。 例如,“0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9”的期望輸出為[0,1,2,3,4,5,6,7,8,9] ,但它返回“[| 1,| 2,| 3,...]。
有什么方法可以解決這類問題嗎?
使用
re.findall(r"(?<![a-zA-Z:])[-+]?\d*\.?\d+", t)
請參閱正則表達式演示
它將匹配不帶字母或冒號的整數和浮點數。
細節 :
(?<![a-zA-Z:])
- 一個負面的lookbehind,確保在當前位置之前沒有ASCII字母或冒號 [-+]?
- 可選+
或-
\\d*
- 零個或多個數字 \\.?
- 一個可選的點 \\d+
- 1+位數 您應該能夠做的最簡單的事情就是將正則表達式的“數字”部分包裝到捕獲組中,然后查看這些捕獲組。
re.findall("[^a-zA-Z:]([-+]?\d+[\.]?\d*)", t)
我剛剛在搜索的“數字”部分添加了括號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.