I should preface this by stating that I\'m working with VB6 & RegExp
I\'m attempting to find and substitute whole words, by \"whole words\" I mean a valid match
Use the "word boundary" expression \b
.
Perhaps something as simple as this will do:
(.*)\bFoo\b(.*)
FYI, the word boundary expression \b
is a zero-width match between a word character \w
and a non-word character [^\w]
or visa versa, and consumes no input.
Underscore and digit characters are considered "word characters", so Foo_Bar
, Bar_Foo
, and Foo123
wouldn't match. To rectify that, so that any non-letter is considered "end of word" (including start and end of input), use look arounds:
(?i)(.*(?<![^a-z]))Foo((?![^a-z]).*)