Het een of het ander matchen
Soms willen we dat onze regexp in staat is om verschillende mogelijke woorden of tekens te matchen. Dit is mogelijk door het alternation metacharacter |. Om dog of cat te matchen gebruiken we de regexp dog|cat. Zoals eerder gezegd zal het geen dat het eerst voorkomt matchen.
Code (php)
1
2
3
4
2
3
4
<?
preg_match("/cat|dog|bird/", "cats and dogs"); // matched cat
preg_match("/dog|cat|bird/", "cats and dogs"); // matched cat
?>
preg_match("/cat|dog|bird/", "cats and dogs"); // matched cat
preg_match("/dog|cat|bird/", "cats and dogs"); // matched cat
?>
Zelfs al is dog het eerste teken in de regexp, is cat het eerste wat voorkomt in de string en wat matched.
Code (php)
1
2
3
4
2
3
4
<?
preg_match("/c|ca|cat|cats/","cats"); // matched 'c'
preg_match("/cats|cat|ca|c/","cats"); // matched 'cats'
?>
preg_match("/c|ca|cat|cats/","cats"); // matched 'c'
preg_match("/cats|cat|ca|c/","cats"); // matched 'cats'
?>
In dit geval maakt de volgorde wel uit. De eerste geldige uit de set alternatieven zal matchen.
« vorige pagina | volgende pagina »
Inhoudsopgave
- Voorwoord
- My First Regex
- Het gebruik van character classes
- Het een of het ander matchen
- Groeperen en hierarchisch matchen
- Het extraheren van matches
- Repeterende matches
- Disclaimer, bronvermelding, handige links, TODO