正则表达式查找字符串的所有部分被相同的字符

时间:2015-11-16 01:00:59

标签: regex

我有一个二进制字符串。有没有办法找到使用正则表达式用0包围的所有1字符串? 例如:给定字符串10010001,结果应为两个匹配项:00000。 我尝试了1(0+)1模式,但只返回00。我想是的,因为在给定的示例中,它无法处理100之间的公共符号000

1 个答案:

答案 0 :(得分:2)

使用lookarounds。

(?<=1)0+(?=1)

由于lookarounds不匹配任何单个字符,您应该获得两个匹配。

您可以使用两者中的任何一个(前瞻或后瞻)。在下面的例子中,我使用了积极的前瞻。

1(0+)(?=1)

从组索引1中获取所需的字符串。

DEMO