Ik heb een boek over regular expressions, mag je best eens inzien.
Albert V - 13/11/2006 om 10:59:17
Als zoals in gewone regexp is, dan zou het ?:work/!|job/!| etc. moeten zijn, de / vertelt de parser dat het volgende karakter niet als metacharacter geparsed moet worden.
Philip - 13/11/2006 om 18:32:03
Ah, okee. Want een hele stapel spam is weinig meer dan een zogenaamd compliment op je werk of site, maar juist door expliciet op het uitroepteken te filteren hoop ik dat goed volk niet al te makkelijk in m'n filter vallen.
Lars - 13/11/2006 om 18:36:40
Eigenlijk zou je de spamassassin engine hiervoor moeten gebruiken; dan kan je de bestaande rulesets voor "spammy phrases"op al je commentaar loslaten, inclusief het scoresysteem: Als een bepaalde drempel bereikt word dan is het spam en wordt het verwijderd, en als het in een grijze zone is komt het in een moderatiewachtrij. Voordeel is dat je niet zelf met perl hoeft te kl*ten, je zou daarmee de open source spamrules kunnen gebruiken. (of zelfs commerciele varianten, zoals die van m'n werkgever :-)
Philip - 13/11/2006 om 19:25:22
Als je alleen wil matchen op de woorden work!, job! etc. Dan zie het punt niet zo van die hele https?\/\/ die je in je voorbeeld hebt staan.
/(work!|job!|site!|done!|you!)/i
Dat zou al genoeg moeten zijn om case-insensitive te matchen op de woorden plus uitroepteken.
/(work|job|site|done|you)!*/i
Bovenstaande werkt in principe nog mooier naar mijn mening. En matched ook op work!!! en job!!! etc.
En voor Philip. De escape-character is de backslash (\) en niet de normale slash (/).
Wim - 14/11/2006 om 15:15:07
@Wim: Dank! Dat ga ik mooi eens in het filter gooien. Het gaat me al snel boven de pet (heb ooit eens een verplichte module Pascal doorgeworsteld, dat was méér dan genoeg) :)
Lars - 14/11/2006 om 20:06:14
Okee, die regel werkt als een zonnetje! Het maakt die andere regels die ik ergens heb weggesnokt ineens een stuk rommeliger... Amateurs! ;)
Lars - 14/11/2006 om 22:55:41