No search system is worth its salt if doesn't support regex. Vim considers its users to be power users and enables regex by default. The symbols might be a little different, from what you are used to, but you will find support for all the rules you demand. If you are unfamiliar with Regular Expressions, also called as 'regex', here's a 5 line crash course on regex:

Regex are patterns of characters used to match strings which conform to certain well defined patterns or rules. * is a greedy quantifier, it will match character preceding it to 0 or more characters in text. Example will illustrate this better: ba* will match 'b', 'ba', 'baa', 'baaa', 'baaaaaaaaaaaa', …

+ is same as * , except it matches 1 or more ba+ will match 'ba', 'baaa' but not 'b'

is same as , except it matches 1 or more . will match any single character b.t will match any of 'bit', 'bat', 'but', 'bot', 'b4t', 'b%t', … Characters except quantifiers as shown above (there are more than these), match to themself. help will match 'help', nothing else

will match 'help', nothing else To search for characters which denote quantifiers, you have to escape them using a backslash \

them using a backslash bit\. will match just 'bit.' and nothing else. [...] will match any one of the characters inside '[' and ']' [1234567890] will match any single digit

will match any single digit above rule can be shorten as [0-9] similar to [a-zA-Z] to match characters in range a-z.

similar to to match characters in range a-z. append a + and you have regex rule to search for numbers greater than 9.

Vim supports much more regex rules than what's stated above, its language is bigger than Regular Languages-it supports positive look ahead, negative look behind etc. It also supports capturing and back referencing, which is discussed next.