Re: regex tutorial vraag
On Wed, Sep 15, 2021 at 01:33:02PM +0200, Martijn van de Streek wrote:
> mj schreef op wo 15-09-2021 om 12:44 [+0200]:
> >
> > Op bijvoorbeeld http://regextutorials.com/ leren ze je dat \w hele
> > woorden matcht, \d voor decimals, etc. (en nog veel veel zulke
> > handige shortcuts)
> >
>
> \w matcht "word characters" (niet hele woorden). Wat dat precies
> betekent is afhankelijk van je locale/taalinstellingen en het programma
> waarmee je de regex match doet.
>
> In sommige locales kan "\w" naast "a-zA-Z" ook tekens als "ë" of zelfs
> "и" matchen en "\d" tekens als "٣".
>
> > Op alle andere tutorials die ik vind is dat helemaal anders,
Begrijpelijk
> > en lijkt
> > de backslash vooral een escape character om bv een letterlijke PUNT
> > ('\.') te matchen, en dat is ook wat ik merk als ik het test met
> > "grep -E"
> >
> > Kan iemand van hier daar iets zinnigs over zeggen..?
>
> "\" is over het algemeen inderdaad een escape-character, maar alleen
> voor niet-letters. Veel "\ + letter"-combinaties hebben zulke speciale
> betekenissen.
>
> > Kan iemand me een site aanraden (a la regextutorials.com) die ik zou
> > kunnen gebruiken om regex zoals bv "grep -E" ze gebruikt te
> > leren/oefenen?
>
> Voor echt grondige kennis (en naslag) kan ik "Mastering Regular
> Expressions" van Jeffrey Friedl aanraden (ISBN: 978-0-596-52812-6)
>
> Daarnaast ben ik zelf vooral bekend met de handleidingen van Perl. Die
> beschrijven de "Perl-smaak" van regex (je kunt "grep" vragen om Perl-
> stijl regex te gebruiken dmv. "grep -P" - dit gebruikt "PCRE", Perl-
> Compatible Regular Expressions):
Daar staat eigenlijk
dat grep meerdere "Regular Expression Engines" heeft.
> $ perldoc perlretut
> $ perldoc perlre
> $ perldoc perlrebackslash
>
> De basis van de meeste regex-dialecten is vrijwel hetzelfde,
Inderdaad, er zijn meerdere regex-dialecten.
> dus de
> kennis die je hieruit haalt is over het algemeen 1 op 1 toepasbaar voor
> "grep -E". De verschillen zitten vooral in hoeveel en waar je moet
> escapen en in complexere/nieuwere features zoals "negative zero-width
> look-ahead".
Yep, er zijn verschillen.
En als je dat niet weet (als verwacht "allemaal hetzelfde")
dan kan het je akelig opbreken.
Zoals Martijn zegt: Basis van regex is hetzelfde.
Groeten
Geert Stappers
--
Silence is hard to parse
Reply to: