文字列を最後まで一致させようとしていますが、別の文字列が空白で区切られている場合は、最初の文字列であり、この余分なパターンではありません。この余分なパタパタは常にで始まる:文字列と一致しますが、特定のパターンと一致しない場合はPython
(from
ここでは文字列のセットの例です:あなたが見ることができるように、最初のパスが後
M /trunk
M /trunk/src/chip/GCC/ARMCMx/STM32F4xx/vectors.c
A /trunk/src/hal/include/spdif.h (from /branches/spdif_446/src/hal/include/spdif.h:1078)
M /trunk/src/hal/platforms/STM32/SAI/sai_lld.h
A /trunk/src/hal/platforms/STM32/SPDIF (from /branches/spdif_446/src/hal/platforms/STM32/SPDIF:1078)
A /trunk/src/hal/src/spdif.c (from /branches/spdif_446/src/hal/src/spdif.c:1078)
ので、それらの行の数は余分な文字列を持っています表示されます。コードがコミットしたブランチを表示しています。私は、文字列の最初の部分だけを、パスの終わりまでしか必要としません。私はそれがどこから来たのかを示すセクションを望んでいません。これをどうやってやりますか?
私はこれが働くだろうと思った:
(.+)[\s]
しかし、それは全体のラインと一致し、私は理由を知りません。ご協力いただきありがとうございます。
どのように(^シンプル '(M?)について:?(\ sの* \())+' – sln
?!。 @sln:先読みはあまりにも高価で*ここでは必要ありません。[** yours **](https://regex101.com/r/cBAOPA/2/)と[** mine **](https ://regex101.com/r/cBAOPA/1/)、同じ結果に達するには10倍以上のステップが必要です。 – Jan
@Jan - そうです! – sln