# How to find Enchantments or Artifacts that have multiple effects?

I've tried the Gatherer and Advanced Google Search and cannot find a good way to find cards of the type I'm hoping to find.

I'm looking for enchantments or artifacts that have multiple effects possible when conditions are met.

For example, Jeskai Ascendancy has 2 separate effects when you cast a noncreature spell.

A better example is Waste Not that triggers for creatures, lands or any spell if a 'discard' action happens.

I'm not sure there is a good way to search for this type of card, so if anyone has suggestions, I would gladly welcome them.

• If you can elaborate on why you are looking it will help us evaluate the relevance of corner cases (like Bridge From Below, which technically has two triggered abilities, but probably isn't what you are looking for). Oct 9 '19 at 17:32
• Scryfall may also be of help, it also supports regex and is much easier to use than gatherer IMO: (t:enchantment OR t:artifact) o:/((When|At).+?){2,}/ Oct 10 '19 at 21:16

As a starting point, the following Gatherer search finds all of the cards with multiple triggered abilities that have the exact same trigger condition: text=m/(\b(When(ever)?|At)\b[^,]+),.+?\1,/. This uses Gatherer's regular expression search functionality to find cards with "When...", "Whenever..." or "At..." matching up to the first comma, and then the exact same text later on the card. This has a couple of false-positive matches of cards with commas in their name (like Brimaz, King of Oreskos). It also matches cards with multiple triggered abilities with the same trigger condition and different "intervening if" clauses (like Duergar Hedge-Mage).

It's a lot more complicated to find cards like Waste Not with trigger conditions that are similar but not identical, because it is unclear how that "similarity" would be rigorously defined in general.

Gatherer Advanced search supports RegEx expressions by using the format m/[expression]/

The following expression might be a good place to start:

m/\bWhen\b.*?\n\bWhen\b/

Breaking this down:

m/ begins the regular expression

\b defines the beginning of a boundary (a series of characters to find in a row)

When describes the boundary. The literal string to search for is "When". Keep in mind this is case sensitive.

\b defines the end of the boundary.

. look for a non-newline character

* look for any number of the previous token (a non-newline character)

? look for the last token (any number of non-newline characters) reluctantly. IE, take as few as possible.

\n look for exactly one newline character

\b defines the beginning of a boundary (a series of characters to find in a row)

When describes the boundary. The literal string to search for is "When". Keep in mind this is case sensitive.

\b defines the end of the boundary.

/ ends the regular expression.

This, for example, finds all cards with text in the form of

When[some text]

When[more text]

Here is what that string finds, as an example.

RegEx supports 'this or that' type expressions, so you could do something like (this syntax is probably not correct) [\bWhenever\b|\bWhen\b|\bAt\b].*?[\bWhenever\b|\bWhen\b|\bAt\b]

RegEx is truly expansive and powerful. The sister site Stack Exchange might be a good place to help getting a perfect RegEx expression that combines all the possible phrases and combinations you want.

This can, of course be combined with the type filter to search for only Artifacts and Enchantments.

I'm generally not extremely good at RegEx, but there is a wealth of information. Here is a pretty good place to start.

• \b defines a word boundary, so putting it after "When" skips any trigger condition written with the word "Whenever". Also as you can see from may answer, the period regex matches newlines on Gatherer. Oct 9 '19 at 18:02
• Yes, while there could be special rules in certain implementations, all of my experience with regex in general are that dot matches absolutely any character (including newlines, although a single dot may not match an entire newline depending on the newline convention for the environment). Oct 9 '19 at 20:31
• For most regular expression implementations the "multiline" option determines whether or not the dot matches newline characters. Oct 9 '19 at 21:42
• Cool, this got me reading up on a bit more history. I was under the assumption that when the dot didn't match the newline it was because lines were being fed in one at a time, but it is way more complicated than that. Also for precedent reasons, it sounds like the "singleline" option controls this, while the "multiline" option controls the anchors. Oct 10 '19 at 17:27

## These 36 cards make a good place to start

I found them using Gatherer's regular expression tool as mentioned by the other answers. My search string was "Whenever.*Whenever" which finds any card in which 'Whenever' appears twice in its text box. This isn't a perfect search (it misses Clash of Realities, which almost certainly should be included, and it includes several silver bordered cards and other cards that probably shouldn't be included), but it makes for a good starting point.

I used "Whenever" instead of "When" because When is typically used for triggers that can only happen once - usually enters/leaves the battlefield triggers of the card in question. Some of those might be cards that you're interested in, but most of them won't be, and including them adds a great many false positives to dig through.