up vote 2 down vote favorite
1
share [g+] share [fb]

I know little of wildcard usage in word.

wildcards - case sensitive

TO FIND

enter mark                       ^13
tab                              ^t
any lowercase letter             [a-z]
any uppercase letter             [A-Z]
any letter                       [A-z]
any digit                        [0-9]
any no. between 6–9              [6-9]
any letter between d–k           [d-k]
any word contains only letters   ([A-z]@>)
any word contains only digits    ([0-9]@>)
for grouping (for replace)       (   )
any character(s) between ...     (*)
any para                         ^13(*)^13

TO REPLACE

To replace first group   \1
To replace second group  \2
enter mark               ^p
tab                      ^t

I want to know more about this. Can anyone help me?

link|improve this question
feedback

migrated from stackoverflow.com Dec 22 '09 at 7:24

This question came from our site for professional and enthusiast programmers.

2 Answers

This looks like a non-standard notation for regular expressions, frequently abbreviated as regex or regexp. This is a tremendously important tool to learn if you do any serious text processing. As you have already understood, regex allow for powerful pattern matching and substitution. The notation you provided resembles the standard greatly, so I could recognise it. There is an industry standard, POSIX, and a de-facto standard, Perl regex. The next paragraph is boring history, skip it if you want.

POSIX regex are used in many user-facing tools from POSIX-compliant operating systems (think Linux and its not-so-distant relatives). The canonical example is grep, which allows you to search for text in files. The text to match is specified in regex. Perl, a programming language, took the concept and extended it greatly for its purposes. Later a subset of this functionality was made it available as a code library, PCRE. All sorts of software embed this library, most notably text editors.

I can see a few differences to what I am used to in the notation above. Word's symbol for symbol for escape sequences is ^, normally it is \. »Only digits« is used often, so it has an abbreviation in Perl, namely \d is equivalent to the character class [0-9]; similarly, \w means word characters and is equivalent to [0-9a-zA-Z_]. Word's notation appears cumbersome against it. I do not know the other limitations of Word, so I encourage you to switch to a text editor with PCRE support.

You should learn first about whitespace matching (abbreviation \s) and repetition (+ and *). Perl's regex are explained in perlrequick, perlretut and perlre. To start experimenting right now, use the Flash based RegExr.

link|improve this answer
feedback

Word's wildcards are regular expressions, with expressiveness between the Bash shell's extended globbing and Perl's PCRE regexes.

Microsoft have two introductory articles, Add power to Word searches with regular expressions and Putting regular expressions to work in Word, that explains some of the main concepts.

Cf. also a question I asked, What is the easiest way to do PCRE-style regexp search/replace for MS Word?

link|improve this answer
feedback

Your Answer

 
or
required, but never shown