preg match

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

Oracle Apex Developer

Dit ga je doen Jouw taken bestaan uit: Het bouwen maatwerk Oracle applicaties voor Europese business units; Het implementeren van de nieuwste technieken om te blijven innoveren; Actief meedenken en aandragen van verbetervoorstellen. Hier ga je werken Deze organisatie in de regio Veenendaal is een van wereld grootste retailers met ruim 16.000 winkels in 27 markten en jaarlijks ruim 5,3 miljard klanten die winkelen bij een van hun welbekende retailmerken. Binnen de organisatie is er een IT Group actief die dient als IT Service Provider voor de hele organisatie en waar dagelijks IT'ers werken aan state-of-the-art IT oplossingen. Dit doen

Bekijk vacature »

No-Code Betty Blocks ontwikkelaar

Bedrijfsomschrijving Wil jij de bedrijfsprocessen van klanten revolutionair digitaliseren en optimaliseren zonder beperkt te worden door programmeertalen? Kom werken bij een snelgroeiende en professionele organisatie met een gezonde dosis humor en veel vrijheid om jezelf te ontwikkelen. Als No-Code Betty Blocks ontwikkelaar werk je vanuit ons kantoor in het hart van Nederland, je thuiswerkplek of op locatie bij de klant. We faciliteren de juiste trainingen en ondersteuning zodat je een echte Betty Blocks expert wordt. Naast het werk zijn er bij ons bijzondere events, zoals een jaarlijkse zeildag, een zomerse barbecue en een knus kerstdiner om de grillige maanden door

Bekijk vacature »

Backend Developer PHP Laravel SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Backend Guild. Hier ga je werken Voor een snel groeiend bedrijf, in de regio Nieuw Vennep, zijn wij opzoek naar een ervaren Backend Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een

Bekijk vacature »

Front end developer

Functie Binnen de functie van Front-end developer werk je mee aan uitdagende klantprojecten. In teamverband werk je aan de voorkant van onze state-of-the-art portaal oplossingen en apps. Dit alles gebeurt in een multidisciplinaire omgeving waarbij je de ruimte hebt om te sparren, je ideeën scherp te stellen, en waar je met de benodigde kennis en ervaring om je heen altijd terecht kunt bij je collega’s voor vragen en ondersteuning. Meestal werk je vanuit ons kantoor maar we bieden ook alle faciliteiten om thuis te kunnen werken. Voor sommige projecten ga je mee naar de klant, wellicht zelfs in het buitenland!

Bekijk vacature »

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

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 »

Senior Software Developer C++

Vacature details Vakgebied: Software/IT Opleiding: Senior Vacature ID: 13342 Introductie Do you want to work for one of the most innovative companies located in the region of Eindhoven. Currently Due to growth we are looking for a Senior Software Developer. Our client is a high-tech company with international roots and can provide you with a challenging opportunity. Functieomschrijving Responsibilities: Design, develop, and maintain high-quality software applications in C++ Collaborate with other engineers, product managers, and stakeholders to understand requirements and develop solutions Write clean, maintainable, and efficient code Conduct thorough testing and debugging to ensure high-quality software Optimize applications for

Bekijk vacature »

Softwareontwikkelaar Cleopatra

Functieomschrijving Voor de gemeente Amsterdam zijn wij op zoek naar een softwareontwikkelaar Cleopatra. De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van brom- en snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie. Functie

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

UX Writer (m/v/d)

UX Writer (m/v/d) Everything we do, starts with you. Together with you, we build the most human-centric fintech. We have the ambition to create the next. And - with Bertelsmann - a strong foundation to start from. Let’s make it new – for society and for yourself. Wij zijn op zoek naar een UX Writer (m/v/d) Fulltime - Op ons kantoor in Amsterdam of Heerenveen / deels vanuit huis Als UX Writer bij Riverty hou jij je bezig met onze strategie om daar te zijn waar onze gebruikers zijn en op de manier waarop zij ons nodig hebben, terwijl wij

Bekijk vacature »

Full stack developer

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 »

Low Code Ontwikkelaar

In het kort Als Low Code Developer werk je aan projecten bij en voor onze klanten, waarbij je voor het ontwikkelen van de oplossingen een technisch low-code platform gebruikt. Samen met het team streef je naar de beste oplossing en bepalen jullie de juiste aanpak. Je rol is divers en je bent van begin tot eind betrokken bij de ontwikkeling zowel de back-end en de front-end van de applicatie. Naast de ontwikkeling en oplevering, breng je ook advies uit aan de klant waarom bepaalde keuzes worden gemaakt. Je bent dan ook communicatief sterk en kunt je keuzes goed (inhoudelijk) onderbouwen.

Bekijk vacature »

Front-end Developer Angular

Dit ga je doen Jouw taken als Front End Developer bestaan uit: Het ontwikkelen van maatwerkoplossingen voor klanten; Het meedenken over nieuwe tools en technieken; Het begeleiden van junioren; Het meewerken aan diverse projecten; Het meedenken in UX/UI design. Hier ga je werken Als Front-End Developer ga je in een Scrum team aan de slag met de nieuwste digitale technologieën om klanten en overheden over de hele wereld te ondersteunen met het ondersteunen van hun software, veelal op het gebied van watermanagement en infra. Door middel van real-time data in combinatie met voorspellende analyses, AI, Deep Learning en Machine Learning

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

23/12/2024 09:33:14
 

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.