Ik heb het volgende script:
Nu wil ik alleen de preg_match regel zo aanpassen dat het script TRUE geeft op alle 3 de regels dus zonder de rest van het script aan te passen. Ik heb getest:
1: preg_match ("/^test (expressie [0-9]+)$/i", $regel, $output) geeft:
match expressie 345
geen match
geen match
2: preg_match ("/^test (expressie|string [0-9]+)$/i", $regel, $output) geeft:
geen match
match string 234
geen match
3: preg_match ("/^test ([expressie|string] [0-9]+)$/i", $regel, $output) geeft:
geen match
geen match
geen match
Ik wil dus zoiets als [expressie|string|regel] (dus OF expressen OF string OF regel) gebruiken binnen de al aanwezige () zodat de eerste OF contructie ook in $output["1"] wordt gezet en ik geen $output["2"] hoef te gebruiken en de regexp moet opsplitsen en 2 maal (). (ik weet niet hoe die match-output haakjes heten).
Weet iemand hoe dit binnen de preg_match van PHP moet?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <?php $regel_array = array("test expressie 345", "test string 234", "test regel 12345"); for ($I=0;$I<sizeof($regel_array);$I++) { $regel = $regel_array[$I]; print ($regel.": "); if (preg_match ("/^test (expressie [0-9]+)$/i", $regel, $output)) { $id = $output["1"]; print ("match ".$id."<br>\n"); } else { print ("geen match<br>\n"); } } ?> |
Nu wil ik alleen de preg_match regel zo aanpassen dat het script TRUE geeft op alle 3 de regels dus zonder de rest van het script aan te passen. Ik heb getest:
1: preg_match ("/^test (expressie [0-9]+)$/i", $regel, $output) geeft:
match expressie 345
geen match
geen match
2: preg_match ("/^test (expressie|string [0-9]+)$/i", $regel, $output) geeft:
geen match
match string 234
geen match
3: preg_match ("/^test ([expressie|string] [0-9]+)$/i", $regel, $output) geeft:
geen match
geen match
geen match
Ik wil dus zoiets als [expressie|string|regel] (dus OF expressen OF string OF regel) gebruiken binnen de al aanwezige () zodat de eerste OF contructie ook in $output["1"] wordt gezet en ik geen $output["2"] hoef te gebruiken en de regexp moet opsplitsen en 2 maal (). (ik weet niet hoe die match-output haakjes heten).
Weet iemand hoe dit binnen de preg_match van PHP moet?