資料
module All
{
obj Bucket
{
Damage = 900
Type = Weapon
Cooldown = 2
Craftable = false
}
}
輸出
"Bucket": {
Damage: 900
Type: Weapon
Cooldown: 2
Craftable: false
}
當前代碼
def get_object(x):
pattern = r'\{ (.*?)\}'
return re.findall(pattern, x, re.MULTILINE) # returns []
我想獲取 {} 之間的資料,此代碼適用于例如。"{ text }" 但不是這個字串,也許是因為換行,我不太了解正則運算式,所以感謝您的幫助!
uj5u.com熱心網友回復:
使用此模式
(?<=obj\s)(\w )(?:.*?)(\{.*?\})
另外,請參閱演示
Python 示例
import re
text = """module All
{
obj Bucket
{
Damage = 900
Type = Weapon
Cooldown = 2
Craftable = false
}
}"""
result = re.search(r"(?<=obj\s)(\w )(?:.*?)(\{.*?\})", text, re.S)
if result:
key, value = result.groups()
print(f'"{key}": {value}')
輸出
"Bucket": {
Damage = 900
Type = Weapon
Cooldown = 2
Craftable = false
}
uj5u.com熱心網友回復:
如果我理解正確,您需要內部 {} 的內容。
使用這個正則運算式應該是可能的:\{([\w\s\n=]*)\}
輸入:
module All
{
obj Bucket
{
Damage = 900
Type = Weapon
Cooldown = 2
Craftable = false
}
}
輸出:
Damage = 900
Type = Weapon
Cooldown = 2
Craftable = false
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/485660.html
上一篇:GodotOptionButton限制專案串列的大小
下一篇:組合正則運算式字符類
