私は新しいPythonプログラミングです。私は正規表現を使用して文字列を一致させた後にいくつかのデータを見つけようとしています。例えば正規表現のPythonで文字列をマッチングした後に特定の文字列を取得
:私は '20628103568' を探しています
str1 = 'ethernet33 20628103568 111111 22222222222 '
、しかし、私のコードで、それはここでethernet33
後にすべてのものを印刷していることは、コード
match1 = re.search("(?<=ethernet33\s).*(?<=\s)", str1)
print match1.group()
出力されます:
20628103568 111111 22222222222
予想される出力:
20628103568
これを達成するために、上記の正規表現を変更する方法上の任意のガイダンスはずっと
私にそれをビート:)。 FWIWでは、この場合、 'str1.split()[1]'だけが行います。 – heemayl
さらに、開始を '^'とマッチさせると、さらにトラバーサルを保存できます。 '(?<=^ethernet33 \ s)\ d +' – heemayl
@heemayl:ありがとう!より効率的です。答えにもそれを加えました –