複数のグループでの正規表現

新しいデベロッパー:

私は、以下の1行の文字列を持っています

10101010110001

私は1秒の間にすべて0をキャプチャしたいです

私は、次の正規表現を使用しました。

/(10+1)/

これは私に次のグループを与えました:

  1. 101
  2. 101
  3. 10001

私が欲しいものこれではないですが、私は(1がすでに前のグループに取り込まれていても)すべてのグループをしたいです:

  1. 101
  2. 101
  3. 101
  4. 101
  5. 10001
K.Dᴀᴠɪs:

あなたは、ほぼ考えを持っていました。あなたの解決策の問題は、すでにあなたは次の試合で使用することを1を消費していることです。

これを回避するには、肯定先読みを使用します。

/1(0+)(?=1)/

一致の一部であるから一致したときに1が消費される最初の、しかし正の先読みを防止2「1」、それだけアサート「1」が存在すること

ここにあなたの例を参照してくださいRegex101

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=478236&siteId=1