[perl] hulp nodig met regular expressions

Pagina: 1
Acties:
  • 128 views sinds 30-01-2008
  • Reageer

  • Rene59
  • Registratie: April 2000
  • Laatst online: 01-09 23:33
Ik heb een forum wat op ubb draait, en daar hebben we nogal eens last van lolbroeken die ieder post ongeveer zo posten:
nU mOEt Je EiGuhLiJk nOg EeN MaNiErzzzz ViNDuh oM dIT tUh BlOkKerUh
Om nou iets van een spellingscontrole er overheen te halen vind ik te ver gaan. De manier van schrijven wekt namelijk wel een indruk van een persoon.
Maar dat irritante gebruik van hoofdletters (wat op dit moment volgens mij echt 'in' is onder de puber generatie van vandaag) moet volgens mij wel wat aan te doen zijn.
Alleen het is natuurlijk ook niet de bedoeling om alles om te zetten naar kleine letters. De hoofdletters aan het begin van een zin, of in afkortingen moeten gewoon behouden blijven.

Is er niet een bestaande perl routine oid voor? Wie kan me een beetje op weg helpen met dit probleem?
Als het niet te doen is, dan hoor ik het ook graag, want dan hoef ik niet verder te zoeken ;)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

strtolower()? maar dan in perl
meer is het niet imho?

Doet iets met Cloud (MS/IBM)


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Uhm je zOu NaTuUrLiJk GeWoOn AlLes naar lowercase kunnen vertalen en alles achter een PuNt Lat3n beginnen met 33n HoofdL3TTER

Verwijderd

misschien checken of er mIDDen in woorden hoofdletters worden gebruikt (aan het begin of een heel woord zou dan wel okay zijn) en die worden naar lowercase te zetten :?

  • Rene59
  • Registratie: April 2000
  • Laatst online: 01-09 23:33
Ik schreef zelf:
Alleen het is natuurlijk ook niet de bedoeling om alles om te zetten naar kleine letters
Maentor: het probleem is dat het hoofdletter gebruik onvoorspelbaar is in dit geval. Dus met de controle op twee hoofdletters in het midden ondervang ik nog niet alles...

Verwijderd

Op donderdag 31 januari 2002 16:49 schreef Rene59 het volgende:

[..]

Maentor: het probleem is dat het hoofdletter gebruik onvoorspelbaar is in dit geval. Dus met de controle op twee hoofdletters in het midden ondervang ik nog niet alles...
dat snap ik :P bedoel ook meer: x aantal kleine dan iets met hoofdletters en weer een x aantal kleine .. etc ... tot het einde van een woord ... valt toch wel iets voor te bedenken dacht ik ;)

  • Rene59
  • Registratie: April 2000
  • Laatst online: 01-09 23:33
Da's dus mijn vraag... maar bedankt voor de ondersteuning, hehe ;)

Verwijderd

:) gege ... kan altijd goed verWOORDen hoe je regex moet maken maar om dan ook met al die f*cking tekentjes aan de slag te gaan :Z :?

maar uiteraard zijn er TAL van sites en docs waar bescreven staat hoe je ze op kan bouwen ... daarmee moet je toch wel verder komen?

kijk hier voor pattern syntax (als je dat nodig hebt tenminste) is perl compatible (van php)

  • HGM
  • Registratie: April 2000
  • Niet online

HGM

misschien zoiets: in een stuk tekst het aantal capitals tellen. Als je dit dan inverhouding zet met het aantal lowercase letters dan kan je bepalen of er gekloot is.

Indien ja, alles klein, en na een . een capital
Indien nee, go ahead :)

  • Rene59
  • Registratie: April 2000
  • Laatst online: 01-09 23:33
Da's een goed idee ja.
Iemand die zo raar post kan het toch niets schelen of de hoofdletters goed staan. Dan maar gewoon geen hoofdletters, of in ieder geval na de punten, ALS ze die gebruiken, want die heb je er ook nog eens bij zitten. ;)

Ik ga het eens proberen :)

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Ik weet niet of perl levenshtein() kent, daarmee kan je ook wel leuke dingen doen.
Wat een geweldige functienaam btw :Y)

  • Rene59
  • Registratie: April 2000
  • Laatst online: 01-09 23:33
Als dat zou kunnen in perl, dan had ik geen probleem gehad :)
Maar voor zover ik weet kan dat dus niet met perl.

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op donderdag 31 januari 2002 17:15 schreef Rene59 het volgende:
Als dat zou kunnen in perl, dan had ik geen probleem gehad :)
Maar voor zover ik weet kan dat dus niet met perl.
Da's wel balen, want met die functie kan je dus het verschil uitrekenen tussen 2 strings. dus
if(levenshtein($string,lowercase($string)>0.3) $string=lowercase($string);

Mooi is dat :)

  • Rene59
  • Registratie: April 2000
  • Laatst online: 01-09 23:33
Oke, ik heb die functie 'nagemaakt' met perl.
0.3 is een algemene waarde?
Want ik heb hem nu op 0.2 staan en dat lijkt goed te werken.

Verwijderd

WOA ... levenshtein() ???????
:) :D NOOIT van gehoord |:(

wad doet dat precies (hoe werkt het?)

  • HGM
  • Registratie: April 2000
  • Niet online

HGM

Op donderdag 31 januari 2002 21:36 schreef Maentor het volgende:
wad doet dat precies (hoe werkt het?)
Voortaan eerst zelf actie ondernemen aub :)

http://www.php.net/manual/en/function.levenshtein.php

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Waarom wil je dit veranderen? Blijkbaar vinden de posters op je forum dit leuk om te doen en ik denk dat als het een beetje ons-kent-ons is de lezers er ook geen problemen mee hebben. Ik zou het gewoon laten zitten, cu2 is ook een succes geworden ;)

tenzij het een serieus forum is, dan zou ik het ook niet toestaan
Pagina: 1