我想在一行中搜索一些文本。作爲一個例子,文字是:如何使用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