關閉。這個問題需要細節或清晰。它目前不接受答案。
想改進這個問題?通過編輯此帖子添加詳細資訊并澄清問題。
12 小時前關閉。
改進這個問題我很難想出一個正則運算式來查找 id。例如,在我的文本中,我有多個 ID,但我想提取 Course 和 title 之間的 ID,如下所示:
"_class":"course","id":1565838, "title":"The Complete 2021 Web Development Bootcamp",
我想提取 和 之間的身份證"_class":"course"號碼"title"。我用什么表達方式?我還想在id之后提取標題。
uj5u.com熱心網友回復:
你為什么要為此使用正則運算式?在我看來,您有一個JSON有效負載。如果您想從中獲取 ID,它實際上比嘗試使用正則運算式要簡單得多:
import json
jsonStr = '{"_class":"course","id":1565838, "title":"The Complete 2021 Web Development Bootcamp"}'
data = json.loads(jsonStr)
print("ID: " data["id"]) # ID: 1565838
如果你真的想為此使用正則運算式,那么你可以使用它\"id\"\:(?P<id>\d*)\,來匹配 ID 本身。將它與 Python 的 regex 庫相結合將為您提供:
import re
m = re.search('\"id\"\:(?P<id>\d*)\,', raw)
print("ID: " m.group(1)) # ID: 1565838
或者,如果您有多個要查找的 ID,則可以對其進行修改以洗掉尾隨逗號并通過以下findall函式進行搜索:
ids = re.findall('\"id\"\:(?P<id>\d*)', raw)
print(ids) # ['1565838']
最后,如果您還想要標題,您可以進一步修改它以獲得兩者:
m = re.search('\"id\"\:(?P<id>\d*).*\"title\"\:\"(?P<title>[\w\s]*)', raw)
print(m["id"]) # '1565838'
print(m["title"]) # 'The Complete 2021 Web Development Bootcamp'
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/458787.html
