Example 1.
There are many occasions when you are presented with
blocks of text or numbers etc., where the order of the text is not what
you might require in the final document. Swapping the placement of
forename and surname as above is one such example - and don't forget you
can add to the replacement, even when using bracketed replacements
e.g. you may wish John Smith to appear as Smith, John
or, more likely, you may have a column of names in a
table, where you wish to exchange all the surnames with all the
forenames.

You could do them one at a time, but by replacing the
names with wildcards, you can do the lot in one pass.
Let's then break up the names into logical sequences that
can only represent the names.
At its simplest, we have here two words -
John and
Smith. They can be represented by<*>[space]<*>.
- where [space]is a single press of the
spacebar.
Add the round brackets
(<*>)[space](<*>) and replace with
\2[space]\1
Run the search on the column of names and all are
swapped. Run it again and they are swapped back.
Note: If
you get it wrong, remember that Word's 'undo' function (CTRL+Z) is very
powerful and has a long memory! 
Example 2
This
could be the changing of UK format dates to US
format dates - or vice versa.
7th August 2001 to August 7th, 2001
To give an example of how most of the wildcards could be
used in one search sequence to find any UK date formatted above to its
equivalent US format date, the following search pattern will do the
trick:
[0-9]{1,2}[dhnrst]{2} <[AFJMNSOD]*>
[0-9]{4}
Breaking it down [0-9]
looks for any single digit number, but dates can have two numbers so to
restrict that to two, we use the count function. We want to find dates
with 1 or 2 numbers so
[0-9]{1,2}
Next bit is the ordinal 'th'
- Ordinals will be 'st' 'rd'
or 'th' so identify those letters
specifically:
[dhnrst]
There will always be two letters, so restrict the count
to 2
[dhnrst]{2}
Next comes the space. You can insert a space
[space]
The month always begins with one of the following capital
letters - AFJMNSOD. We don't know
how many letters this month has so we can use the blanket '*'
to represent the rest. And we are only interested in that word so we
will tie it down with <> brackets.
<[AFJMNSOD]*>
there's another space [space] followed by the
year. The years here
have four numbers so
[0-9]{4}
Finally add the round brackets to provide a logical
breakup of the sequence
([0-9]{1,2}[dhnrst]{2})[space](<[AFJMNSOD]*>)[space]([0-9]{4})
and replace with
\2[space]\1,[space]\3
to re-order the sequence.
Example 3
Assume you are parsing addresses and wish to separate the
honorific from the name.
American usage puts a full stop (period)
at the end ("Mr.", "Mrs.", "Dr.") while British usage
often omits the full stop.
([DM][rs]{1,2})( )
will find Mr Mrs Dr
without the stop and
\1.\2
will put one in.
or vice versa
([DM][rs]{1,2}).
will find Mr. Mrs. Dr. with the stop
and
\1
will take it out.
Further
examples:
(*^13)\1\1 will match
any sequence of three identical paragraphs,
(*^13)@
will match any number of replacement paragraphs. Replace with
\1 to remove duplicates from a
sorted list.
\<([!\<\>]@)\>[!\<\>]@\</\1\>
will match any well-formed XML element including start-tag and end-tag
(“<p>some text</p>” or “<customer-name>John
Smith</customer-name>”)
By creating logical sequences you can search for almost
any combinations of characters.
Gremlins
to be aware of (for advanced users only):
Sometimes Word will get confused if it encounters
“escaped” brackets \( or
\), for example “(\\)”
will match *any* character, not only a backslash
Workaround: use "([\\])"
instead.
([a-z]\() throws an
error - should find an "a(".
Workaround: Use ([a-z][\(])
instead.
Not a bug but still annoying: You have to escape any
special character even if you type its code; so
^92 will have the same problems as typing the backslash.
The construction {0,}
(find zero or more of the preceding item) is refused as incorrect
syntax. This concept is available in Unix regular expression matching,
so it's a curious omission.
You don’t always have to “escape” the special characters,
if the context makes it clear that the special meaning isn’t wanted.
[abc-] matches “-“,
and [)(] matches “)“
or “(”. This may sometimes make your
searches behave differently from what you expected.