That regex only works on one line.
My suggestion would actually be to script this and to use logmon to run that script. That would put you in complete control of the logic used instead of trying to figure out how to simulate it with logmon.
As it is, you are dependant on logmon reading the log file is such a way that it gets the two strings.
If trying to do this fully within UIM, then you'll need to deal with three alarms: text string 1 occuring, text string 2 occuring, and an alarm you create where string 1 and string 2 exist
You can use triggers to keep track of the strings occuring alarms but really, if you ignore the name, a trigger is just a pre calculated list of alarms that match a criteria. Makes it faster to get at them if you have a slow nas or a lot of alerts.
Otherwise, you would have an on arrival script that matches the alarms for these two strings and if only none or one of them exists, it closes the "Both strings exists" alarm that you create otherwise if both exists, is creates the "Both strings exist" alarm.
Search for "correlation" and you should find some examples.