Regex - only allow a space or nothing after a match

c#, regex

Solution

David Brabant is close, but I think you actually want to try ending your regular expression with `(?!\S)` - this will mean you'll match anything not followed by a non-whitespace character. If you just want to match on spaces rather than whitespace, use `(?![^ ])`.

Problem

Hi I'm nearly new with this of Regex... so, maybe my problem it's easy but I can't find a solution! I'm writing a regex pattern that looks into the user's writing and paint with another color the matches that is founded. I want for example to paint with another color, if the user write something like this: ``` foo() ``` the thing is that I DON'T want to paint that if the user writes something else after that, I mean if the user write only ``` "foo()" (or "foo() ") ``` then it's fine, I want to paint it, but if the user write ``` "foo()d" ``` I don't want to paint that because is now well written for me. I already wrote the regex pattern that match the "foo()" (or also with a dot in the middle, like "foo.foo()"), but I´m facing with that problem. I need to add something to my pattern that allow only a space, or nothing (if the user write something else after the ")" I don't want to match it.) This is my pattern: ``` [a-z]*\.?[a-z]*\(("[^"\r\n]*"|[-]?\b\d+[\.]?\d*\b)?\) ``` Thank you very much!

Original source