why is this regular expression returning only one match?
问题 Here is my input: xxx999xxx888xxx777xxx666yyy xxx222xxx333xxx444xxx555yyy This is the expression: xxx.*xxx(?<matchString>(.(?!xxx.*xxx))*?)xxx.*yyy It's returning 444 . I'd like it to return both 444 and 777, but I can't get anywhere with this. I have the ! exclusion so that it matches only the innermost on the left side (which works great when I am searching for only one result, which is most of the time). However, I have a feeling that that is related to why it is skipping the first result