私は初心者のpythonプログラマーです。私はリストに追加するグループを構築するために正規表現を使用しようとしています。私は何をしたいかを単一の正規表現でカバーするか、複数の正規表現に渡す必要があるかどうかはわかりません。regexを使って空のグループを追加する
テストデータ:
云々云々0.003 40 40.00
yadayada屋55
yaaaaaaya 100.0000 4
私の正規表現:私は取得
(\w+ *\w* *\w*) (\d*\.*\d*) *(\d*\.*\d*) *(\d*\.*\d*)\n
グループ:
'云々の云々'、 '0.003'、 '40'、 '40.00'
'yadayada YA'、'55'、空、空
'yaaaaaaya'、'100.0000'、」 4' 、
空が、私がしたいグループは、次のとおりです。
'云々の矢田'、 '0.003'、 '40'、 '40.00'
'yadayada' 屋、空、EMは、 PTY、'55'
'yaaaaaaya'、空、 '100.0000'、 '4'
は空(\ D *。* \ D *)基を導入するために正規表現を変更することは可能ですこれらのグループのうち3つ未満のグループに分けられますか?番号のグループが「右寄せ」されるように
追加しようとしましたか?最初の2つのグループ(\ d *)の終わりに移動しますが、同じ空のグループを取得します。
これは、空のグループマッチを返す正規表現の動作を変更しません。元のものと同じように壊滅的なバックトラックを起こす可能性があります。 –
@TimPietzcker確かに、downvotingの前にテストしてください:https://regex101.com/r/dtKcH4/1正規表現が準最適であると同意し、それほど言及しません。もしあなたが彼のためにそれを書き直したいなら、先に進んでください。 – jaytea
もちろん私はそれをテストしました。あなたのリンクされた例をチェックしてください。同じ問題があります(今は空のグループはグループ4の代わりにグループ2ですが、そこにもあります)。 –