There are two methods of searching the nLab:
The builtin search. This is via the search box at the top of every page. The distinguishing characteristics of this search are:
Formula Search: nLab Formula Search provides an instance of the MathWebSearch engine for nLab. To use it enter a formula query (LaTeX with query variables of the form ?a
, ?b
, …) into the central input box (or just select one of the examples), wait until the MathML has been rendered (query variables are red), and hit search. If you click on one of the hits, you get a URL, which puts you into nLab and highlights the formula hit (in gray).
An external search engine. Most search engines allow you to restrict the search to a single site. The best site to use for the nLab is http://ncatlab.org/nlab
. The distinguishing characteristics of an external search are:
Search the nLab using Google:
MathWebSearch (MWS) is a contentbased search engine for mathematical formulae. It indexes MathML formulae, using a technique derived from automated theorem proving: Substitution Tree Indexing.
As the project is still under development, the authors would be happy to hear your feedback. If you have some comments you can leave it here. If you have a bug report or a feature request please open a issue on the github repository.
Regular expressions are a powerful way of extending search capabilities to take into account that one often wants to search for more than just a set phrase. In a regular expression, certain characters are declared to be “special” and have a particular interpretation (somewhat like TeX with its special catcodes). A special character can always be “escaped” to interpret it as an ordinary character. Thus .
means “match any single character” but \.
means “match a period”.
As Instiki is written in ruby, it uses the ruby version of regular expressions (each language has its own version; the differences are usually minor). The following is based on the list at rubydoc. It has been condensed slightly to those aspects likely to be of use here:
.
, 
, (
, )
, [
, \
, ^
, {
, +
, $
, *
, and ?
. To match one of these characters, precede it with a backslash. All other characters ordinarily just match themselves unless they are made somehow special by one of the special characters.\b
, \B
cat
matches against category
and cat
but cat\b
only matches cat
(and scat
).[
…]

, (
, )
, [
, ^
, $
, *
, ?
are treated as regular characters in such a list. You can specify a range using 
: thus, az
. To include a ]
or 
it must come at the start of the list. A ^
at the start negates the list.\d
, \s
, \w
\D
, \S
, \W
.
(period)(
…)
[
…]
, or a (
…)
.*
ab*
matches a
, ab
, abb
, and so forth. Similarly, (cat)*
matches cat
, catcat
, catcatcat
, and so forth. This will try to match as much as possible; use $x$*?
to make it match as little as possible.+
ab+
matches ab
, abb
, but not a
. This will try to match as much as possible; use $x$+?
to make it match as little as possible.{
$m$,
$n$}
{
$m$,
$n$}?
to make it match as little as possible.?