Regular expressions (regex) can be used in the search mask. This makes it possible, among other things, to specifically combine search terms and to include or exclude spelling variants. Some basic options are described below. Websites such as regexr.com are helpful for familiarising yourself with the finer points of the concept if required.
The search function always operates with character strings, not words. This means: If you enter Hund
(dog) as a search term, the results are not limited to adverts in which Hund
is used as a word, you will also receive adverts with Hunde
(dogs) or hundert
(hundred)..
This can be avoided by including word limits in the search expression. A word boundary is expressed as a combination of backlash and lowercase b, i.e. by \b
.
Hund\b
finds Hund
or Jagdhund
, but neither hundert
nor Hunderte
.
\bHund
finds Hund
and hundert
as well as Hunderte
, but not Jagdhund
.
Finally, \bHund\b
finds only Hund
(or hund
), so neither hundert
nor Jagdhund
.
In regular expressions, some characters perform a special function: +*?^$\.[]{}()|/
If you want to search for character strings that actually contain a full stop or a question mark, for example, the corresponding character must be preceded by a backlash (\
):
No.
finds No.
but also November
,
while No\.
finds No.
, but not November
.
warum?
also hits warum
and warumb
even without question mark,
warum\?
just warum
with a question mark.
To find not only Cafe
but also Caffee
, quantifiers can be used.
A trailing question mark makes a character optional:
Caff?ee?
finds Cafe
, Caffe
, Caffee
, and Cafee
.
A trailing plus sign indicates that the character must occur at least once, but can occur any number of times:
Caf+e+
also finds Cafe
, Caffe
, Caffee
, and Cafee
, it would also find Cafffffeeeeeeee
.
A trailing asterisk indicates that the character does not have to appear, but may any number of times:
Caf*e
finds all the variants from above, but also Historiae Germanicae
The dot is used to allow any character in a character string:
H.nd
finds Hund
(and Hunde
, hundert
etc.), but also Hand
and Hände
.
To allow different spellings or variants of words, the use of character sets is also helpful. All characters that may appear at the corresponding position in the character string are listed in square brackets:
[CK]affee
finds Kaffee
and Caffee
Caf[eé]
finds Cafe
and Café
The characters in square brackets can also be specified as a range:
[1-9]000
finds 1000
, 2000
, 3000
, ... up until 9000
.
r[a-h]und
finds Freund
and Burgund
, but not erkundigen
If the characters in square brackets are preceded by a caret ("^"), they are excluded:
r[^a-h]und
finds neither Freund
nor Burgund
, but erkundigen
and phrases like vier und
You often want to combine different search terms inclusively or exclusively: For example, to find all adverts in which Hund
AND Katz
are mentioned at the same time, or adverts in which Hund
OR Katz
are mentioned.
The "Simple search" allows you to enter the search terms to be combined separated by spaces and then select whether they should all be found at the same time ("AND") or only at least one of them ("OR").
The "Advanced search" always interprets each input as a single (long) search expression. To be able to express alternatives, the vertical bar (|
) is used as an or operator:
Hund|Kat
finds adverts, which contain the character string Hund
OR the string Katz
Round brackets can be used to specify which parts of the string apply alternatively, which is also helpful for finding variants:
H(a|u)nd
finds Hand
and Hund
Brann(t|dt)(|en)wein
finds Branntenwein
, Branndtenwein
, Branntwein
, and Branndtwein
.
To find all adverts containing Hund
AND Katz
in the advanced search, a somewhat complex expression is required. The dot (any character) and the plus (single or multiple occurrences) are used here:
Hund.+Katz
finds all adverts in which Hund
is mentioned first and then Katz
after any number of other characters, but not those in which Katz
is mentioned first and then Hund
.
With Katz.+Hund
it is the other way round.
Only both expressions combined with |
as an or operator will produce the desired result, i.e. (Katz.+Hund)|(Katz.+cat)