で正規表現を使用してIPアドレスに似た文字列(ドット)例えば分割私が見に分割します正規表現がしたいのPython
「を。」:私が持っているもの
Input: '1.2.3.4.5.6'
Output : ['1', '2', '3', '4', '5', '6']
試してみました: -
>>> pattern = '(\d+)(\.(\d+))+'
>>> test = '192.168.7.6'
>>> re.findall(pat, test)
私は何を得る: -
[('192', '.6', '6')]
私は
re.findall()
から何を期待
: -
[('192', '168', '7', '6')]
あなたは間違っているものを指しているに助けてくださいもらえますか?
私の思考 - pattern = '(\d+)(\.(\d+))+'
で 、初期(\d+)
は192
すなわち、最初の番号を見つけるその後(\.(\d+))+
は
を.168
と.7
すなわちフォーム'.<number>'
の一つ以上の出現箇所を検索し、.6
ます[EDIT:] これは単純化されています私が解決している問題のバージョン。 実際には、入力が
192.168 dot 7 {dot} 6
をBE-ことができると期待される出力は依然として[('192', '168', '7', '6')]
あります。
私はパターンのよう.168
、.7
、.6
を抽出するためのソリューションを把握したら、私はその後、dot 168
にパターンのような{dot} 7
それを拡張することができます。
待って、 'test.split( '。')'の何が間違っていたら、ドットで分割したいのですか?ハッピーハンマーでハエを叩かないでください。 –
私はこれが来ると思いましたが、私の問題は私が求めているものとは異なります。基本的に、数字の代わりに複雑な文字列があります。の代わりに '。'実際には「ドット」すなわち192ドット168ドット7ドット6、これとその組み合わせなどがあります。 – user3903448
その場合は、質問を更新して、役立つ実際のデータを投稿できますか?解決しようとしている問題とは異なる問題に対する解決策を私たちに提供することはあまり役に立ちません。 – birryree