我有一個大檔案,其中包含許多出現的某些語法:(width 0.15).
該數字0.15可以是任何浮點數。我希望找到這些數字的所有實體并修改它們。我知道如何使用它們來修改它們float('0.15') modifier,也知道如何再次制作結果字串。
我很難找到數字。我查看了re模塊,但不太清楚如何匹配數字本身,并且不包括匹配的環境。
所以我知道如何(width 0.15)使用re. 我知道如何修改數字字串。但我不知道如何匹配環境中的實際數字。這個怎么做 ?
uj5u.com熱心網友回復:
IIUC,您可以使用環視:
s = '(width 0.15)'
match = re.search('(?<=\(width )\d (?:\.\d*)?(?=\))', s)
輸出:
match.group()
# '0.15'
對于所有事件 轉換為浮點數:
out = list(map(float, re.findall('(?<=\(width )\d (?:\.\d*)?(?=\))', )s))
輸出:
[0.15]
正則運算式:
(?<=\(width ) # match should be preceded by "(width "
\d # one or more digits
(?:\.\d*)? # optionally, a dot with zero or more digits
(?=\)) # match should be followed by ")"
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/426908.html
上一篇:用字典描述某個區域的檔案
