[英]Regex to match a double quoted string in Python
我试图在 Python 中使用正则表达式获取像“Title”这样的字符串值之后的值。
这是我到目前为止所拥有的:
re.compile(r'[\n\r].*"title":\s*([^\n\r]*)')
我遇到的问题是它返回:[]。
我的目标是从此字符串返回职位名称:
[{"title": "Inventory Accountant", "location": "Bern, KS", "snippet": "JOB PURPOSE
任何帮助将非常感激。
这可能不是您要找的,但作为替代解决方案可能会有所帮助。
您的字符串是否包含字典列表? (因为看起来是这样)
如果是这种情况,那么您可以将其加载为 JSON 并始终避免使用 REGEX。 请记住从字符串的开头和结尾删除“[”和“]”。
下面的例子:
import json
txt = '[{"title": "Inventory Accountant", "location": "Bern, KS", "snippet": "JOB PURPOSE"}]'
data = json.loads(txt[1:-1])
print(data['title'])
应该返回库存会计
我不知道在这种情况下正则表达式是否是最好的解决方案。 相反,您可以按照上述答案中的说明尝试从字典中访问“title”键。
但是,如果您需要使用正则表达式,这里有一个例子:
import re
string = '[{"title": "Inventory Accountant", "location": "Bern, KS", "snippet": "JOB PURPOSE"'
test = re.search(r'"title"\:(?P<val>.*?),', string)
value = test.group("val").strip()
print(value)
这将返回以下值: "Inventory Accountant"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.