Excellent description, but minor niggle: In "Superm*n" , the '*' is a wildcard. This isn't a regular expression that would match 'Superman' and Supermoon'. A regexp could be "Superm.*n" - the '.' means 'any character' and the '*' means 'as many times as you like'. (More selective regexps exist) If you were to interpret 'Superm*n' as a regular expression, it would match 'Supern' , 'Supermn', "Supermmn', Supermmmn' etc. So you could describe this as a 'wildcard search that would match superman and supermoon'.