preg match

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior/Senior Python developer

Functie Jij als Senior Python developer hebt al ruime ervaring opgedaan. Bedrijven komen bij de organisatie om technische vraagstukken op te lossen. Jij als specialist bent dus de representatie van deze kwaliteit. Je zult de keuze krijgen tussen lange of korte projecten waarin je komt te werken in multidisciplinaire teams. Projecten die je gaat uitvoeren zijn zeer uitlopend. Zodoende kun je aan de ene kant kiezen voor een greenfield project en stroom je bij een ander project midden in een migratietraject in. Voor de ene klant ontwikkel je ene nieuwe portal en voor het andere project duik je veel meer

Bekijk vacature »

Java Developer (Training And Simulation)

Wat jij doet Je zou onze Java Developer zijn en nauw samenwerken met je Product Owner, Software System Engineer, Scrum Master en andere Developers. Samen draag je bij aan een multidisciplinair en zelf organiserend Agile team. De rol is zeer afwisselend en bestaat uit, maar is zeker niet beperkt tot: de-risk en prototype onbewezen simulatietechnologieën; simulatiekaders ontwikkelen voor gebruik door andere teams; je bent goed in het begrijpen van ingewikkelde ideeën; heeft de mogelijkheid om nauw samen te werken met grote internationale klanten, leveranciers en overheden om onze oplossingen, vastleggingsvereisten, enz. te definiëren en te presenteren. Ben jij het? Wij

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Junior .NET Software Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »

Senior PHP developer met ambities tot Software Arc

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Full stack developer Node.js

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Traineeship IT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Front-End Developer

As a Front-End Developer at Coolblue you improve the user-friendliness of our webshop for millions of customers. How do I become a Front-End Developer at Coolblue? As a Front-End Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present these within the team. You also take pride in your work and welcome any feedback. Would you like to become a Front-End Developer at Coolblue? Read below if the job suits you. You

Bekijk vacature »

Senior Java Developer

Als Senior Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en

Bekijk vacature »

Junior Software Developer (HBO / WO)

Functie omschrijving Voor een leuke opdrachtgever zijn wij op zoek naar een Junior Software Developer! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Dan hebben wij bij Jelling IT Professionals de perfecte opdrachtgever in de omgeving van Hoofddorp. Binnen deze functie vervul je een onsite learning programma waarbij je aan de slag gaat met PHP en Laravel. Hierbij ben je voornamelijk werkzaam op verschillende klantlocaties en is het jouw taak om hun wensen en eisen

Bekijk vacature »

Oracle APEX Ontwikkelaar (3.500-6.000 euro)

Bedrijfsomschrijving Ben jij een getalenteerde Oracle APEX ontwikkelaar met minimaal één jaar ervaring in het ontwikkelen van Oracle APEX-applicaties? Ben je gepassioneerd over het ontwikkelen van bedrijfskritische oplossingen en wil je werken bij een toonaangevend consultancybedrijf? Dan zijn wij op zoek naar jou! Deze organisatie beschikt over zowel inhouse als externe projecten, maar bovenal over een sterk team en netwerk van opdrachten waardoor jij jezelf verder kunt ontwikkelen. Het team bestaat uit een aantal junior en medior developers, maar vooral uit senioren. De business unit managers binnen het team zijn mensen die hun vak verstaan en zelf als Oracle APEX

Bekijk vacature »

Medior Mobile Developer iOS Amsterdam

Functie What will you be doing as Mobile Developer? As an iOS app developer you will work in a multidisciplinary team of app developers, web developers and designers. You will work on world-class apps that will be used by thousands of people. There is a lot of room for self-development on a technical and personal level. Together with the rest of the team you develop in the newest techniques and you go for the best quality. We work with Kotlin Multiplatform Mobile to develop hybrid apps and we guarantee quality with peer reviews, unit testing and we use a CI/CD.

Bekijk vacature »

24/05/2010 15:24:14
Quote Anchor link
ik ben een ondertitel vertaal script aan het maken, maar iets wil niet lukken:
ik wil contoleren of een lijn zoals deze is:
00:00:12,108 --> 00:00:14,793
dmv:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if(!empty(preg_match("(.*)-->(.*)",$lines))){
echo "ja";
}
else{
echo "nee";
}

?>

maar dat geeft
Fatal error: Can't use function return value in write context in /home/a2238742/public_html/test/trans.php on line 8(r2 hier)
 
PHP hulp

PHP hulp

12/05/2024 10:26:00
 

24/05/2010 15:29:38
Quote Anchor link
empty.
Je regex is overigs best wel heel erg ruim, hij klopt niet eens. En dit had je zelf toch ook kunnen vinden?
Gewijzigd op 24/05/2010 15:36:22 door
 
B a s
Beheerder

B a s

24/05/2010 15:31:45
Quote Anchor link
Je gebruikt de functie verkeerd:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
preg_match("(.*)-->(.*)", $lines, $matches);
?>


$matches[0] is dan 00:00:12,108
$matches[1] is dan 00:00:14,793

Maar wat wil je precies doen?
 

24/05/2010 15:38:52
Quote Anchor link
Bas:
Je gebruikt de functie verkeerd:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
preg_match("(.*)-->(.*)", $lines, $matches);
?>


$matches[0] is dan 00:00:12,108
$matches[1] is dan 00:00:14,793

Maar wat wil je precies doen?


Kijk eens op php.net: preg_match.
php.net:
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags [, int $offset ]]] )

Return Values

preg_match() returns the number of times pattern matches. That will be either 0 times (no match) or 1 time because preg_match() will stop searching after the first match. preg_match_all() on the contrary will continue until it reaches the end of subject. preg_match() returns FALSE if an error occurred.

Hij gebruikt de functie niet verkeerd. Als je alleen maar wilt kijken of een string klopt volgens de regex hoef je dus geen matches op te geven.
 

24/05/2010 15:38:59
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$lol
= file('24.S08E21.HDTV.XviD-LOL.srt');
foreach($lol as $lines) {
preg_match("(.*)-->(.*)", $lines, $matches);

  if($lines !== "\r\n"){
    if(is_numeric(substr($lines,0,-2))){
        echo "<h2>".substr($lines,0,-2)."</h2>\n";
        $nr = $lines;
    }
elseif(!empty($matches){
        echo "tyd";
    }
  }
}

?>

een ondertitel translate script maken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
preg_match("(.*)-->(.*)", $lines, $matches);
?>

geeft
Warning: preg_match() [function.preg-match]: Unknown modifier '-' in /home/a2238742/public_html/test/trans.php on line 4
Gewijzigd op 24/05/2010 15:43:30 door
 

24/05/2010 15:44:16
Quote Anchor link
Ja, je regex is verkeerd.
Als je iets wilt gebruiken zal je het eerst moeten leren.
Als je niet weet hoe je moet zwemmen, dan kan je ook niet zwemmen.
Eerst leren dus.
Dat stukje code hierboven slaat ook nergens op.
 
Jelmer -

Jelmer -

24/05/2010 16:23:22
Quote Anchor link
Hoe precies wil je bepalen dat die regel aan dat formaat voldoet? Bijvoorbeeld heel strikt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
^\d{2}:\d{2}:\d{2},\d{3}\s+-->\s+\d{2}:\d{2}:\d{2},\d{3}$
.
^ is het begin van een lijn
$ het einde van een lijn
\d een getal van 0 tot 9
{2} twee maal het ding ervoor (\d, getal tussen 0 en 9) matchen
\s spatie of tab
+ ding wat ervoor staat (spatie, tab) één of meer keer matchen

Combineer dat met preg_match:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$fhandle
= fopen('iets.srt', 'r');

while(!feof($fhandle)) {
    $line = fgets($fhandle);
    
    if(preg_match('{^\d{2}:\d{2}:\d{2},\d{3}\s+-->\s+\d{2}:\d{2}:\d{2},\d{3}$}', $line)) {
        echo 'tijd';
    }
}

?>

Maar de vraag is nog steeds: wat wil je precies?
Gewijzigd op 24/05/2010 16:23:56 door Jelmer -
 
Willem Jan Z

Willem Jan Z

24/05/2010 16:32:24
Quote Anchor link
Jelmer, voorpieper :P Had net het volgende geschreven:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
    $lines
= array(
        '00:00:12,108 --> 00:00:14,793',
        '01:12:42,318 --> 01:12:18,593',
    );

    
    foreach ($lines as $line) {
        if (preg_match('/^([\d]{2}):([\d]{2}):([\d]{2}),([\d]+)\s(\-\->)\s([\d]{2}):([\d]{2}):([\d]{2}),([\d]+)$/', trim($line), $matches)) {
            var_dump($matches);
        }
    }

?>

Jouw voorbeeld is qua file-handling wel uitgebreider :)

edit: Wel weer wat geleerd, dacht dat {} niet zonder een groep of range ervoor kon, blijkbaar wel :)
edit2: Nog een wijziging, klopte iets niet in mijn groeperingen
Gewijzigd op 24/05/2010 16:39:23 door Willem Jan Z
 

24/05/2010 17:02:21
Quote Anchor link
of:
}elseif(substr($lines,13,3) == "-->"){
 

24/05/2010 17:16:58
Quote Anchor link
Martin:
of:
}elseif(substr($lines,13,3) == "-->"){


Waarvoor zou je dat doen als je toch al met regular expressions bezig bent?
 
Willem Jan Z

Willem Jan Z

24/05/2010 17:17:17
Quote Anchor link
Als je 100% weet dat --> altijd op dezelfde plek staat kan dat, maar je controleert nu totaal niet of er tijden staan.

Als ik me niet vergis is strpos stuk sneller dan substr e.a.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
}elseif(strpos($lines, '-->) === 13){
 
Richard van Velzen

Richard van Velzen

24/05/2010 17:19:11
Quote Anchor link
Natuurlijk niet de m-modifier vergeten als je per regel wil matchen met ^ en $.
 
Jelmer -

Jelmer -

24/05/2010 17:54:29
Quote Anchor link
Richard:
Natuurlijk niet de m-modifier vergeten als je per regel wil matchen met ^ en $.

niet noodzakelijk, aangezien ik er maar één regel per keer in gooi.


Martin:
of:
}elseif(substr($lines,13,3) == "-->"){

Gevaar hiervan is dat het ook matcht wanneer --> in de subtitels zelf staat. Maar dat argument kan je ook gebruiken tegen de preg_match oplossing. Eigenlijk moet je gewoon tellen wat je nu op de regel verwacht. Begin van bestand: subtitel-index. Vorige regel subtitelindex? Dan moet dit de tijd zijn. Vorige regel de tijd? Dan moet dit de subtitel zelf zijn. Witte regel? dan komt hierna weer een index.
 

24/05/2010 18:37:08
Quote Anchor link
ik heb het nu zo:
http://test.seriez.co.cc/trans.php?begin=0&end=2500
Gewijzigd op 24/05/2010 18:51:55 door
 
Richard van Velzen

Richard van Velzen

25/05/2010 15:53:05
Quote Anchor link
Jelmer:
Richard:
Natuurlijk niet de m-modifier vergeten als je per regel wil matchen met ^ en $.

niet noodzakelijk, aangezien ik er maar één regel per keer in gooi.

Nou dan, wat is het nut van een regel per keer? Niks, noppes, nada, het is alleen inefficiënt.
 



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.