我想在一行中搜索一些文本。作为一个例子,文字是:如何使用python正则表达式在行中搜索文本?
{'id: 'id-::blabla1::blabal2-A'}
或
{'id: 'id-::blabla3::blabal4-B'}
或
{'id: 'id-::blabla5::blabal6-c'}
我想找到这样的文字:A
或B
或C
。如何在Python中构建正则表达式来执行此操作?
我想在一行中搜索一些文本。作为一个例子,文字是:如何使用python正则表达式在行中搜索文本?
{'id: 'id-::blabla1::blabal2-A'}
或
{'id: 'id-::blabla3::blabal4-B'}
或
{'id: 'id-::blabla5::blabal6-c'}
我想找到这样的文字:A
或B
或C
。如何在Python中构建正则表达式来执行此操作?
我想你的意思是一本字典,虽然你错过了'在这两种情况下。
我想这样的事情是你在找什么:
import re
dict = {'id': 'id-::blabla1::blabal2-A'}
test = re.sub(r'.+?::.+?::.+?-(\w)',r'\1',dict['id'])
正则表达式可以简化,但是这是我可以在此基础上对信息做你
你可以用这个启动之一:
{'id: 'id-(?::.*?){2}-([a-zA-Z])'}
见:https://regex101.com/r/XnlUTi/2
([a-zA-Z])
这将是小组赛谁返回A或B或C
import re
content = "{'id: 'id-::blabla1::blabal2-A'}"
pattern = re.compile('{\'id: \'id-::blabla.*?::blabal.*?-(.*?)\'}', re.S)
print re.findall(pattern, content)
.*?
代表什么,(.*?)
代表你想要的东西。
re.findall(pattern, content)
将返回符合正则表达式的列表。
*在任何位置或末尾找到此文本,A或B或C * - ? – RomanPerekhrest