---ROBIN---: Het zijn gewoon normale email adressen die in een txt of html file staan. Die dienen als backup. Uit de twee bestanden moeten alle volledige e-mail adressen gefilterd worden.
Ik vroeg om meer informatie over de context waar de adressen zich in bevinden, wat je nu zegt wisten we eigenlijk al

drm: pseudo regex

[..]
simpel zat toch

Euh... misschien. Misschien niet.
Mag een email adres een _ bevatten? Ja. Dus jij maakt een regex:
code:
1
| /[0-9a-z_]+@[0-9a-z_]+\.[0-9a-z_]+/ig |
Simpel zat ja. Maar als je als tekstbestand nu dit krijgt:
code:
1
| he mijn adres is _martijn@nogwat.com_ dat je het ff weet! |
Dan krijg je als match dus
_martijn@nogwat.com_, immers, underscore mag in een email adres. Maar mag een email adres met een underscore beginnen? Nee. Wanneer je daar rekening mee houdt krijg je in dit geval al een betere match (de underscores horen er namelijk niet bij).
Maar als je je context van te voren al zo goed kent dat je zeker weet dat je email adressen niet tussen underscores zal staan hoef je daar geen rekening meer mee te houden.
Lullig voorbeeldje misschien, maar kennis over de context van je data is zooooo belangrijk bij het gebruik van regexen! Wanneer je bij het matchen van email adressen helemaal
niets weet over je data, zul je dus een perfecte regex moeten gebruiken volgens de betreffende RFC. En dat is heel wat werk (in MRE staat een voorbeeldje van 6598 karakters, maar deze is volgens een verouderde RFC gemaakt, hoewel ik het zo snel niemand beter zie doen).
Wellicht is een regex als
zelfs voldoende, ik weet het niet. Antwoord geven op de vraag is nu dus erg lastig, ik geef niet graag een regex van 6,5 duizend karakters terwijl het niet nodig is.