私はPythonの正規表現ライブラリでgroup
メソッドを理解するのに苦労しています。ここでは、一致するオブジェクトに応じて文字列の置換を試みます。私は(それぞれrep1
とrep2
付き)my_dict
辞書内の特定の文字列と一致するオブジェクト(この例では+
と\n
)を交換したい、ある一致するオブジェクト(Python)に基づく文字列の置換
。
content = '''
Blah - blah \n blah * blah + blah.
'''
regex = r'[+\-*/]'
for mobj in re.finditer(regex, content):
t = mobj.lastgroup
v = mobj.group(t)
new_content = re.sub(regex, repl_func(mobj), content)
def repl_func(mobj):
my_dict = { '+': 'rep1', '\n': 'rep2'}
try:
match = mobj.group(0)
except AttributeError:
match = ''
else:
return my_dict.get(match, '')
print(new_content)
をしかし、私はv
を計算するときにIndexError
続いt
ためNone
を取得:questionとanswerこのことからわかるように
、 私はこれを試してみました。
すべての説明とサンプルコードは理解できます。
それはあなたのコードが行うことになっているものを推測するのは難しい(多くの構文エラーがあります、インデントが壊れている、ロジックは不明)。あなたが達成したいことを記述する例を提供する方が良いでしょう。 – TomR8
@ TomR8お詫び!私はすべての構文の問題と誤字を修正しました(うまくいけば)。 –