python – 字典键上的正则表达式匹配
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 字典键上的正则表达式匹配,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1181字,纯文字阅读大概需要2分钟。
内容图文
想象一下,我们有一个字典:{‘Hello World’:value1,’Testing’:value2}
现在我们需要在字典中查找单词.密钥K需要与’Hello World’或’Testing’完全匹配才能使用.
所以让我们的text =’hello world’我们仍然希望它返回value1
那么我们如何处理文本与键的正则表达式匹配?理想情况下,我们不想迭代字典
编辑:间距方面只是一个简单的例子.文本可能会更改,以及我们想要匹配的数字和字母的组合.我们通常会使用正则表达式模式
解决方法:
你正在做的几乎是打败了dicts的效率,所以你最好自己制作类似dict的课程.这是一个简单的例子:
from re import search, I
class RegexMap(object):
def __init__(self, *args, **kwargs):
self._items = dict(*args, **kwargs)
def __getitem__(self, key):
for regex in self._items.keys():
if search(regex, key, I):
return self._items[regex]
raise KeyError
用法:
>>> rm = RegexMap({'\s*hello\s*world\s*':1, '\s*foo\s*bar\s*':2})
>>> rm['Hello World']
1
>>> rm['foobar']
2
>>> rm['baz']
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
rm['baz']
File "C:\Users\dmurphy\Documents\python\_t.py", line 10, in __getitem__
raise KeyError
KeyError
>>>
从那里,您可以添加更多的dict功能.见Data Model docs.
它确实打破了你的“无迭代”条款,但如果你想要推广到正则表达式,我不确定是否有任何解决办法.
内容总结
以上是互联网集市为您收集整理的python – 字典键上的正则表达式匹配全部内容,希望文章能够帮你解决python – 字典键上的正则表达式匹配所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。