|Problems? Is your data what you think it is?|
Regex: Matching around a word(s)by shotgunefx (Parson)
|on Dec 16, 2005 at 22:45 UTC||Need Help??|
shotgunefx has asked for the
wisdom of the Perl Monks concerning the following question:
Regular expressions have always been a weak spot for me, and I've got a question that's got me stumped.
Here's the problem I'm trying to solve.
I have somwhat large articles of text (returned from a search), what I'd like to do is capture the word and X number of words before and after it while tagging the matching word in the captured text.
My inital thought was to try something like this.
The problem I have is that if there is more than one term and they overlap, the nth term will not be annotated.
So my next thought is lookahead/lookbehind, but they don't capture. Is there a way to do this with a single regex?
Is a regex even the best way to do this?
perl digital dash (in progress)