The "easy" way to do this as a pattern is to use:
Therefore, you can use the fact that the word cannot be at the start of a line: therefore there must be some character before the start of "guardian". I've tried:
(with the "singleline" option not set)
and both work but also capture the character before the "g". If all you are doing is checking to see if the work exists within the text (but not at the start) then that will do. If you want the word itself (why? you already KNOW that that it will be "guardian") then you can simply discard the first character.
I'm not sure why you have made your pattern the way you have but I suspect that you are trying to add additional context to the match, perhaps to try to make sure that the word is not at the start of the line. If that is the case, then I would suggest that you drop all of the pattern and use something as I have suggested.
The reason why your pattern is still matching the "guardian' at the start of the line, is that all of the first part of the patter optional. The same applies to the last part.
There are ways of forcing the prefix to match something (and therefore ensuring that the key word is not at the start) as in: