私は自分自身でこれを理解しようとしていましたが、今は不満を募らせてStackXersに手を差し伸べたいと思っていました。私は、Boring Stuff udemyコースの自動化を使用して、正規表現を学習する初心者のPython開発者です。私のコードがあるrestは文字列全体に置換されません
original_string = '''12 Drummers Drumming 11 Pipers Piping 10 Lords a
Leaping 9 Ladies Dancing 8 Maids a Milking 7 Swans a Swimming 6 Geese a
Laying 5 Golden Rings 4 Calling Birds 3 French Hens 2 Turtle Doves and a
Partridge in a Pear Tree'''
ある
target_string = '12 drummers drumming, 11 pipers piping, 10 lords a leaping,
9 ladies dancing, 8 maids a milking, 7 swans a swimming, 6 geese a laying, 5
golden rings, 4 calling birds, 3 french hens, 2 turtle doves, and a
partridge in a pear tree'
元の文字列(メトロリリックからコピー):私の問題については
、 私は使用正規表現しようとしていますがこのターゲット文字列を作成します
import re
strings = '''12 Drummers Drumming 11 Pipers Piping 10 Lords a Leaping 9
Ladies Dancing 8 Maids a Milking 7 Swans a Swimming 6 Geese a Laying 5
Golden Rings 4 Calling Birds 3 French Hens 2 Turtle Doves and a Partridge in
a Pear Tree'''
lyrics = strings.split()
xmasRegex = re.compile(r'\d+\s\D+\s([a-zA-Z]+)')
re.sub(r'\1,',strings)
これは、最後にコンマをつけた韻文の単語( "Doves"を含む)を置き換えて文字列に戻そうとしています(意図しない "Tree"と "Doves"このメソッドを使用して、ターゲット文字列に表示されます。 forループといくつかの微妙な変更でこれを行うことは可能ですが、私はそれを正規表現の方法でやりたかったのです。
サブメソッドや正規表現オブジェクトで何が問題になっていますか?
文字列を小文字にしようとしているようです。何か不足していますか? – thefourtheye
次の正規表現は問題を解決するのに役立ちますか? – Allan