是否可以在python中绘制正则表达式来提取所有字符串的属性值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以在python中绘制正则表达式来提取所有字符串的属性值相关的知识,希望对你有一定的参考价值。

我有一个像这样的xml文件:

<string name="abc_searchview_description_clear">Clear query</string>
<string name="abc_searchview_description_query">Search query</string>
<string name="abc_searchview_description_search">Search</string>
<string name="abc_searchview_description_submit">Submit query</string>
<string name="abc_searchview_description_voice">Voice search</string>
<string name="abc_shareactionprovider_share_with">Share with</string>

我想在python3中找到所有字符串值,即[清除查询,搜索查询,搜索,提交查询,语音搜索,与...共享]。

我只是想知道是否有可能为它绘制正则表达式? {类似于我们在double qoute中找到所有文本的内容[Find_double_quotes = re.compile('“([^”] *)“',re.DOTALL | re.MULTILINE | re.IGNORECASE)}

答案

如果你的用例就像这里显示的那样简单(即没有嵌套,没有其他标签),这应该这样做re.findall("<string[^>]*>(.*)</string>", your_text)

虽然,XML不是常规语言,但正则表达式会因一些更普遍的情况而失败。如果您需要更复杂的情况,可以考虑不使用正则表达式。有关更详细的解释,请参阅this question

另一答案

非常感谢,它对我来说很好。

我也试试这个:Find_double_quotes = re.compile('“>([^>] *)

它也产生相同的结果

以上是关于是否可以在python中绘制正则表达式来提取所有字符串的属性值的主要内容,如果未能解决你的问题,请参考以下文章

python 提取字符串中的指定字符 正则表达式

Python中从一些成语中各提取一个字组成一句话有啥方法

使用 Python 正则表达式提取数据

python利用正则表达式提取字符串

Python中的正则表达式

Python基础 :正则表达式