You can use forward slashes
// instead of quotes
to match those parts of a card
using regular expressions.
Regular expressions are very powerful, here are some examples of fancy searches you can make with regular expressions:
- Instants that grant +X/+X boosts
- Creatures that have a tap ability with no other payment
- Cards that mention orcs, but not other words like sORCery or ORChard
Scryfall does not support all possible POSIX regular expression constructs, only the limited set detailed on this page is available.
- All regular expressions are case-insensitive.
- If your expression includes forward slashes
/they must be escaped:
- No other part of your expression needs to be escaped.
*— Matches any set of characters (equivalent to
.*?in other systems)
~— Shorthand for the card name, similar to the Oracle text keyword.
(a|b|c) are supported to match alternate words or phrases.
prevent anywhere in the Oracle text.
?— Matches zero or one of the preceding character or group
\n— Matches a newline
\d— Matches single digit character:
\d+— Matches one or more digit characters:
\w— Matches a word character:
0–9and the hyphen
\w+— Matches one or more word characters:
0–9and the hyphen
Please note that the plus sign
+ is treated as a regular plus sign in all other scenarios.
\b— Word boundary. The start or end of a word.
^— Start-of-line anchor. Matches the start of a line/paragraph in the Oracle text.
$— End-of-line boundary. Matches the end of a line/paragraph in the Oracle text.
Our regular expressions are “multiline mode”. Anchors match paragraphs in the Oracle text, instead of the entire block.
(?!) match something that isn’t followed by the phrase inside the lookahead.
o:/eldrazi (?!scion)/ matches Oracle text with the word “eldrazi” that isn’t followed by the word “scion”.