jabowery has asked for the wisdom of the Perl Monks concerning the following question:
I'm using File::Stream to set a regex as the record delimiter for one sentence per record. Obviously /.\s/ is inadequate because, e.g. " e.g. " and " i.e. " are not ends of sentences. (This also illustrates why searching for answers to this question is problematic.)
I've tried /(?<!( e|\.g)|( i|\.e))\.\s/ but even though this is a "fixed-width lookbehind" it doesn't work as expected.
/(?<!( e|\.g))\.\s/ also fails.
Strangely, /(?<! e|\.g)\.\s/ works in the debugger as a stand alone regex but not as the separator argument to File::Stream->new.
I can get both " e.g." and " i.e." to be ignored in the debugger with /(?<! i|\.e| e|\.g)\.\s/ (I can live with excluding " e.e.", " i.g.", etc.) but, again, not in the separator argument to File::Stream->new.
Any suggestions?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: End of sentence regex excluding " i.e." and " e.g."
by kennethk (Abbot) on Feb 06, 2017 at 18:00 UTC | |
by Not_a_Number (Prior) on Feb 06, 2017 at 18:19 UTC | |
by kennethk (Abbot) on Feb 06, 2017 at 18:27 UTC | |
by choroba (Cardinal) on Feb 07, 2017 at 08:44 UTC | |
by jabowery (Beadle) on Feb 06, 2017 at 18:05 UTC | |
by kennethk (Abbot) on Feb 06, 2017 at 18:35 UTC | |
|
Re: End of sentence regex excluding " i.e." and " e.g."
by Not_a_Number (Prior) on Feb 06, 2017 at 18:25 UTC | |
|
Re: End of sentence regex excluding " i.e." and " e.g."
by AnomalousMonk (Archbishop) on Feb 06, 2017 at 18:20 UTC |