Ignore:
Timestamp:
2020-04-11T17:37:01+02:00 (6 years ago)
Author:
simon04
Message:

fix #19070 - SearchCompiler: regexp comparison using <tilde>

Location:
trunk/src/org/openstreetmap/josm/data/osm/search
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/search/PushbackTokenizer.java

    r12656 r16260  
    108108        EQUALS(marktr("<equals>")),
    109109        /**
     110         * The tilde sign (~)
     111         */
     112        TILDE(marktr("<tilde>")),
     113        /**
    110114         * A text
    111115         */
     
    148152    }
    149153
    150     private static final List<Character> SPECIAL_CHARS = Arrays.asList('"', ':', '(', ')', '|', '^', '=', '?', '<', '>');
     154    private static final List<Character> SPECIAL_CHARS = Arrays.asList('"', ':', '(', ')', '|', '^', '=', '~', '?', '<', '>');
    151155    private static final List<Character> SPECIAL_CHARS_QUOTED = Arrays.asList('"');
    152156
     
    200204            getChar();
    201205            return Token.EQUALS;
     206        case '~':
     207            getChar();
     208            return Token.TILDE;
    202209        case '<':
    203210            getChar();
  • trunk/src/org/openstreetmap/josm/data/osm/search/SearchCompiler.java

    r16259 r16260  
    21192119            if (tokenizer.readIfEqual(Token.EQUALS)) {
    21202120                return new ExactKeyValue(regexSearch, key, tokenizer.readTextOrNumber());
     2121            } else if (tokenizer.readIfEqual(Token.TILDE)) {
     2122                return new ExactKeyValue(true, key, tokenizer.readTextOrNumber());
    21212123            } else if (tokenizer.readIfEqual(Token.LESS_THAN)) {
    21222124                return new ValueComparison(key, tokenizer.readTextOrNumber(), -1);
Note: See TracChangeset for help on using the changeset viewer.