diff --git a/cockatrice/src/game/filters/filter_string.cpp b/cockatrice/src/game/filters/filter_string.cpp index 3b1dcffc4..535f25d3b 100644 --- a/cockatrice/src/game/filters/filter_string.cpp +++ b/cockatrice/src/game/filters/filter_string.cpp @@ -20,7 +20,7 @@ QueryPart <- NotQuery / SetQuery / RarityQuery / CMCQuery / FormatQuery / PowerQ NotQuery <- ('NOT' ws/'-') SomewhatComplexQueryPart SetQuery <- ('e'/'set') [:] FlexStringValue -OracleQuery <- 'o' [:] RegexString +OracleQuery <- 'o' [:] MatcherString CMCQuery <- ('cmc'/'mv') ws? NumericExpression @@ -42,7 +42,7 @@ ColorEx <- Color / [mc] ColorQuery <- [cC] 'olor'? <[iI]?> <[:!]> ColorEx* -FieldQuery <- String [:] RegexString / String ws? NumericExpression +FieldQuery <- String [:] MatcherString / String ws? NumericExpression NonDoubleQuoteUnlessEscaped <- '\\\"'. / !["]. NonSingleQuoteUnlessEscaped <- "\\\'". / ![']. @@ -52,8 +52,10 @@ String <- SingleApostropheString / UnescapedStringListPart+ / ["] StringMatcher { + search["MatcherString"] = [](const peg::SemanticValues &sv) -> StringMatcher { auto target = std::any_cast(sv[0]); auto sanitizedTarget = QString(target); sanitizedTarget.replace("\\\"", "\"");