1
私は次のように動作するPythonの正規表現を書こうとしています...母音(a、e、私、o、u、á、é、 (a、e、i、o、u、á、é、í、ó)の後に続くコロン(:
)の後ろに別の母音結腸。したがって、母音の間のコロンはオプションですが、母音の間にあれば、母音が出力に存在する必要があります。だから私は(:)?
を使ってみました。そのパターンが一致すると、最後のコロンが削除されます。鋭いアクセントの母音は全く異なる母音とみなされます。したがって、a
はá
とは異なる母音と見なされます。以下は別の表現です。Pythonの正規表現は、任意の文字と文字のグループ
V = a,e,i,o,u,á,é,í,ó,ú
V:V: will become V:V
VV: will become VV
両方のパターンで、2番目の母音の後のコロンは常に削除されます。しかし、コロンが両方の母音の間に存在する場合、それは出力に存在します。
以下は、適用すべきパターンとそのために必要なものです。以下は
a:é: will become a:é // colon between the vowels is present in the output, colon after the two vowels is dropped from output
ia: will become ia // colon after the two vowels is dropped from output
ó:a: will become óa // colon between the vowels is present in the output, colon after the two vowels is dropped from output
私がしようとしてきたが、それは働いていないものです:
word = re.sub(ur"([a|e|i|o|u|á|é|í|ó|ú])(:)?([a|e|i|o|u|á|é|í|ó|ú]):", ur'\1\3', word)
例パターンの所望の出力は何ですか? –
なぜこれは 'a:é:> a:é'と' ':a:>ó''と違うのですか?両方とも同じ構文をしています。 – sln
'r '\ 1 \ 3''を' r' \ 1:\ 3''に変更した後、私は最初の2つの例について期待される出力を得ました。 – DyZ