Attention! This is **NOT** related to [Regex problem, matches the whole string instead of a part](https://stackoverflow.com/questions/3975297/regex-problem-matches-the-whole-string-instead-of-a-part)

---

Hi all.
I try to do 

```
Match y = Regex.Match(someHebrewContainingLine, @"^.{0,9} - \[(.*)?\s\d{1,3}");

```

Aside from the other VS hebrew quirks (how do you like replacing ] for [ when editing the string?), it occasionally returns the crazy results:

```
Match.Captures.Count = 1;
Match.Captures[0] = whole string! (not expected)
Match.Groups.Count = 2; (not expected)
Match.Groups[0] = whole string again! (not expected)
Match.Groups[1] = (.*)? value (expected).

```

`Regex.Matches()` is acting same way.

What can be a general reason for such behaviour? Note: it's not acting this way on a simple test strings like `Regex.Match("-היי45--", "-(.{1,5})-")` *(sample is displayed incorrectly!, please look to the page's source code)*, there must be something with the regex which makes it greedy. The matched string contains `[ .... ]`, but simply adding them to test string doesn't causes the same effect.