0
または0
の直後に3.1415926535897932384626433832795028841971
のような数字の文字列を分割しようとしています。しかし、私は各グループの後に0を保持したいと思います。空白の文字列でlookahead/lookbehindの文字列を分割する
Iが正の後読み文字列を離れて分割しようとした、空例えば、ストリング10203040506070809011
は
['10', '20', '30', '40', '50', '60', '70', '80', '90', '11']
に分割されるべきであり、文字列3.1415926535897932384626433832795028841971
が
['3.14159265358979323846264338327950', '28841971']
に分割されなければなりません文字列:
import re
p = '(?<=0+)'
re.search(p, '102030405')
><_sre.SRE_Match object; span=(2, 2), match=''>
'102030405'.split(p)
>['102030405']
たとえパターンが一致していても、文字列をまったく分けることはありません。
0
に基づいて文字列を分割し、最初のカップルの文字列の後に0
を追加してみましたが、複雑で非効率なようです。
空の文字列の先読みまたはルックバックに基づいて文字列を分割する方法はありますか?私は数字だけではなく、一般的なケースについて尋ねています。たとえば、am
またはpm
を失うことなく3:18am5:19pm10:28am
を別々の時間に分割し、配列['3:18am', '5:19pm', '10:28am']
を取得する場合は、どうすればこのようになるでしょうか?
使用しているPythonのバージョンは何ですか? 're.search(p、 '102030405')' –
Python 3.6.1を使用するとエラーが発生します – victor
'' 10020''をどのように分割したいですか? '' ['100'、 '20'] ''、 '' ['10'、 '020'] ''? – randomir