2017-01-10 3 views
-2

ある行のテキストを検索したい。例として、テキストは次のとおりです。AまたはBまたはCpython正規表現を使って行内のテキストを検索するには?

{'id: 'id-::blabla1::blabal2-A'} 

または

{'id: 'id-::blabla3::blabal4-B'} 

または

{'id: 'id-::blabla5::blabal6-c'} 

私はこのテキストを見つけたいです。これを行うためにPythonで正規表現を構築するにはどうすればよいですか?

+1

*このテキストを見つけるには、AまたはBまたはC * - 任意の位置または末尾に? – RomanPerekhrest

答えて

0

あなたは辞書を意味すると思いますが、どちらの場合も「間違っています。

私はこのようなものは、あなたが探しているものだと思い:

import re 
dict = {'id': 'id-::blabla1::blabal2-A'} 
test = re.sub(r'.+?::.+?::.+?-(\w)',r'\1',dict['id']) 

正規表現を簡素化することができるが、これはあなたがこれを起動することができ、私はこの情報

0

に基づいてのためにあなたを行うことができるすべてであります1:

{'id: 'id-(?::.*?){2}-([a-zA-Z])'} 

参照:https://regex101.com/r/XnlUTi/2

([a-zA-Z]) 

これは、AまたはBまたはC

0
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)は、正規表現に一致するリストを返します。

関連する問題