繁体   English   中英

正则表达式匹配 Python 中的双引号字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM