The text is:
Here is some text!
The regular expression (looking for a single match) is:
Here is (\w+\s?)+
In .NET there is one match: Here is some text
…but in javascript there are two: Here is some text and text.
Why are there two matches in js and only one in .NET?
Parentheses in regular expressions create a capturing group. In js what you are seeing is the complete match and the group match, in .NET you are only seeing the complete match (although you should be able to access the group as well).
If you don’t want to capture what you have inside of the parentheses use this regular expression instead:
Here is (?:\w+\s?)+