正規表現というのは、基本的に一文字ベース("a","b","c","x","y","z"...)で条件分岐するParseである。 Wordベース("abc","xyz"...)で条件分岐するようには作られていない。 それでも、「前に"abc"があったら。。。」とか「後ろに"xyz"があったら。。。」といった Positiveな条件はどうにかなる。 しかし、「前に"abc"がなかったら。。。」とか「後ろに"xyz"がなかったら。。。」といった Negativeな条件になると、解決策がなくなることが多い。 解決策1 この問題を解くためには、一度、Word("abc","xyz"...)を一文字に置換してから検索を行う。 解決策2 「前に"abc"がなかったらその後の数字を抽出する」という条件を 「前に"abc"があったらその後の数字を削除する」という作業をまず行い、 残った数字を抽出すれば、最初の条件を満たした抽出が行える。