Hello Draenoel,
In the case of <match>match1|match2</match> it will only need to find the either string ( match1 or match2).
In order to have an AND condition you can use <regex> instead of <match>:
<rule id="100002" level="3">
<regex>match1\.*match2|match2\.*match1</regex>
<description>Match events with both strings match1 and match2</description>
</rule>
or a pair of parent/child rules:
<rule id="100002" level="0">
<match>match1</match>
<description>match events with string match1</description>
</rule>
<rule id="100003" level="0">
<if_sid>100002</if_sid>
<match>match2</match>
<description>match events with both strings match1 and match2</description>
</rule>
I hope you still find this helpful, please don't hesitate to ask more questions if you have them.
Best Regards,
Juan C. Tello