regex en preg_replace()

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Eduard

Eduard

03/04/2008 14:09:00
Quote Anchor link
mogelijke combinaties (1,2,3 zijn gewoon voorbeeldjes):

0 0 0 0
12 0 12 1
12 0 123 1
123 0 12 1
123 0 123 1


Dus met de volgende code zou ik die nummers weg kunnen krijgen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$var = preg_replace("_0 0 0 0_si", "", $var);
$var = preg_replace("_\d\d 0 \d\d 1_si", "", $var);
$var = preg_replace("_\d\d 0 \d\d\d 1_si", "", $var);
$var = preg_replace("_\d\d\d 0 \d\d 1_si", "", $var);
$var = preg_replace("_\d\d\d 0 \d\d\d 1_si", "", $var);




Maar als ik de code wat kleiner wil hebben, waarom lukt het (me) dan niet met deze? En is het wel aan te raden of moet ik gewoon met die grotere versie van me gaan werken?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$var = preg_replace("_[0-9]{1,2,3} 0 [0-9]{1,2,3} [0-1]_si", "", $var);
Gewijzigd op 01/01/1970 01:00:00 door Eduard
 
PHP hulp

PHP hulp

22/12/2024 09:39:09
 
Joren de Wit

Joren de Wit

03/04/2008 14:19:00
Quote Anchor link
Quote:
{1,2,3}
Dat is niet juist. Als iets een lengte van 1, 2 of 3 tekens kan hebben geef je dat op deze manier aan: {1,3}.

Is verder het laatste cijfer altijd een 1? Jouw regex doet dat namelijk vermoeden, maar je voorbeeldjes zeggen wat anders.
 
Eduard

Eduard

03/04/2008 14:21:00
Quote Anchor link
ah zo, bedankt

de laatste cijfer is altijd een '1' tenzij de eerste 3 een '0' zijn, dan is de laatste ook een '0'


edit: moet bij regex van laatste 1 een [0-1] van maken =)

zo werkt het dus wel :)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$var = preg_replace("_[0-9]{1,3} 0 [0-9]{1,3} [0-1]_si", "", $var);  
Gewijzigd op 01/01/1970 01:00:00 door Eduard
 
Pepijn de vos

pepijn de vos

03/04/2008 15:37:00
Quote Anchor link
ik vind het heel interessant, en ik heb ook altijd moeite met regex, maar mag ik vragen waarvoor je dit nodig hebt?
 
Eduard

Eduard

03/04/2008 17:18:00
Quote Anchor link
ik heb dus een grote .txt/.log file en ik wil er alle nuttige informartie eruit halen, dus alles wat ik niet nodig heb, dat verwijder ik en de rest zet ik stap voor stap om in variabelen die ik dan naar mijn database wegschrijf
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.