I want to match certain words in the context of other words, like if I wanted to try and capture a filling when we're talking about sandwiches I could do:
(?:sandwich|toastie).{0,100}(ham|cheese|pickle)
Which would match something like Andy sat down to enjoy his sandwich which, unusally for him, was filled with delicious ham
However this would also capture across "context breaks" such as end-of-sentence punctuation or line breaks e.g. Victorians enjoyed a good sandwich after work. They also enjoyed cheese rolling.
. In this context I'd want to negate the match as it crosses a sentence.
So I tried to do (?:sandwich|toastie)(?:\w\. ){0}.{0,100}(ham|cheese|pickle)
but that doesn't work. What I'm imagining is something like [^\w\. ]
but that isn't right either