Я использую vb. net, и что-то, что кажется очевидным в PHP, не работает (для меня) в vb. net:
Extract = "100011100000"
Dim HandReg3 As New Regex("(?:[0]*)(1{3,})(?:[0]*)")
If HandReg3.IsMatch(Extract) Then
Dim m() As String = HandReg3.Split(Extract)
For Each item As String In m
Console.WriteLine(item)
Next
Dim m1 As Match = Regex.Match(Extract, "(?:[0]*)(1{3,})(?:[0]*)")
Console.WriteLine(m1.Index)
Console.WriteLine(m1.Length)
End If
Который пишет:
1
111
1 <-Index. Shouldn't it be 4 (0 based) or 5????
111
Я пробовал несколько комбинаций групп (захват и не захват). Конечно, это должно быть что-то очевидное и глупое, но спустя почти 8 часов. Я просто не могу понять это правильно! Попробовал:
([0-1]*)(1{3,})([0-1]*)
[0-1]*1{3,}[0-1]*
и любую другую комбинацию, о которой я могу подумать.
Спасибо за вашу помощь
Эмилиано