If you want to type in fewer characters, Emacs has built in completion. You can type a few letters and then hit TAB to complete the input, or to see a list of matching inputs. This can save you a huge amount of time in the long run, and is usually faster than glob or regex matching.
However, it is possible to improve things further. Add this to your init ...
Use of * in a file or directory name is a wildcard for glob matching. (It is unrelated to regular-expression matching, by the way).
Buffer names are not necessarily file names. There are many buffers that are not visiting files. Buffer names sometimes (even often) contain * characters.
Commands that prompt for a buffer name do not do any glob-pattern ...
You are unfortunately going to have to use two functions: one that does the work and one that exits Ido.
(defun ido-visit-buffer-other-window ()
(let ((buf (car ido-matches))
(add-to-history 'buffer-name-history buf)
(ido-visit-buffer buf 'other-window t))