preg match

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

C#.NET-developer - JUNIOR

Functie omschrijving Voor een leuke opdrachtgever in omgeving Brielle zijn wij op zoek naar een junior developer. Werk jij graag met de volgende tools & technieken? C#, .NET, ASP.NET, MVC en SQL? Kijk dan snel of dit iets voor jou is! Als programmeur bij een productiebedrijf zal je voornamelijk nieuwe software schrijven maar ook bestaande software verbeteren. Verder werk je veel samen in back end projecten met leuke collega's. Bedrijfsprofiel Met een team van ruim 130 personen staan ze elke dag weer klaar om IT en Business te combineren door het ontwikkelen van producten op maat. Er zijn 3 teams,

Bekijk vacature »

Front-End React Developer

Als Front-End React Developer verbeter je de user experience van onze eigen webapplicaties voor onze collega's binnen Coolblue. Wat doe je als Front-End React Developer bij Coolblue? Als Front-end React Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten met React.js. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end React Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Verbeteren van de gebruiksvriendelijkheid van onze webshop

Bekijk vacature »

Full-stack developer

Als Full-stack developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Samen met je SCRUM team werk je aan zowel de front- als de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en echt het verschil te kunnen maken. Ons ontwikkelteam bestaat uit ruim 40 ontwikkelaars, testers, scrum

Bekijk vacature »

.Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Ontwikkelaar Centrale Monitoring

Ontwikkelaar centrale Monitoring Functieomschrijving Wil jij een bijdrage leveren aan het onderhoud, opzetten en ontwikkelingen van technologieën van SSC-ICT, een van de grootste ICT-dienstverleners van en voor de Rijksoverheid? Je komt als monitorspecialist te werken bij team Operations Management Services. Dit team werkt aan het stabiliseren en waarborgen van een betrouwbare monitoromgeving voor 7 ministeries. Jij begeleidt het implementatieproces van de te monitoren technologieën, onder andere via management packs, connectoren en API's. Je hebt hiervoor veel contact met interne en externe klanten, die hun wensen op het gebied van monitoring aan jou doorgeven. Je beoordeelt deze wensen en komt met

Bekijk vacature »

Senior PHP Developer

Als Senior PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn en coach je andere developers op de hard en soft skills. Wat doe je als Senior PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

Frontend Developer

Dit ga je doen Door ontwikkelen van het online platform Deel uitmaken van verschillende ontwikkelteams Meedenken over UI/UX vraagstukken Uitdragen van Front-end binnen de organisatie Hier ga je werken Deze organisatie, gevestigd in de omgeving van Amsterdam, is een grote onderwijs instelling met meerdere vestigingen en een groot aantal studenten. Zo telt deze organisatie +/- 35.000 gebruikers. Bij deze organisatie staat jouw ontwikkeling centraal en is er veel ruimte voor eigen initiatieven. In samenwerking met jouw team ga jij de online omgeving verder ontwikkelen. In de rol van Front end Developer zal jij 50% van jouw tijd werken in het

Bekijk vacature »

Senior .NET developer

Functie As a Senior .NET developer you will work in our Research & development team. Our team consists of 17 colleagues! We are currently busy setting up a completely new architecture for a new product. We use VS2022 and .NET 6.0 for our new product. Your function is therefore mainly backend oriented. Since we develop measuring equipment for the chemical industry, it is also very important to develop high-quality software for its control. You are also responsible for designing, implementing and testing new features. For this position its also very important to ensure future-proof and sustainable architecture. Eisen - A

Bekijk vacature »

Back end developer Digital Agency

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

C# Developer

Dit ga je doen De requirements in kaart brengen van de klant; Implementeren van functionele en technische specificaties bij opdrachtgevers; Oplossen van bugs; Meewerken aan maatwerksoftware voor nieuwe opdrachtgevers; Het testen en uitleveren van nieuwe functionaliteiten naar de acceptatie en productieomgeving De database ontwikkelen en onderhouden; Hier ga je werken Onze klant is gevestigd in het westen van Nederland en is gespecialiseerd in het ontwikkelen van software voor de levensmiddelen industrie. De software die het team maakt optimaliseert voornamelijk de administratieve processen, maakt deze meetbaar en zorgt ervoor dat de data zo goed mogelijk gebruikt kan worden. Binnen een van

Bekijk vacature »

C#.NET Developer Jr. Functie

Functie omschrijving Bouw jij graag aan applicaties om processen in distributiecentra te optimaliseren? Wij zijn op zoek naar een C#.NET ontwikkelaar in regio Breda die hier graag een steentje aan bijdraagt! Jouw werkzaamheden zullen er als volgt uitzien: Je krijgt veel vrijheid in de keuze van de technieken die je gaat gebruiken. Uiteraard wel binnen de gestelde kaders, en door gebruik te maken van het .NET platform. Je gaat aan de slag met de ontwikkeling van een nieuwe module binnen de WMS suite van dit bedrijf. Deze "carrier" module gaat er voor zorgen dat de selectie van een vervoerder volledig

Bekijk vacature »

PHP Developer

Functie Middels Scrum en sprints bouw jij in deze functie mee aan complexe webapplicaties en ons SaaS platform. Hierbij hoort ook architectuur tot een van je taken. Daarnaast ben je één van de leden van het Scrum team. Dat betekent dat je naast je kerntaken ook in contact staat met de product owner. Oftewel, je bent bij het gehele ontwikkelproces betrokken. Tools die hierbij gebruikt worden zijn o.a. PHP, Symfony en Git. Eisen • Minimaal HBO werk- en denkniveau • Minimaal 3 jaar aantoonbare ervaring met PHP • Kennis en ervaring Symfony (Laravel is pré) & Lando • Kennis van

Bekijk vacature »

Java developer - procesoptimalisatie (Inhouse)

Functie Wat ga je doen als Java developer? Jij als back end developer hebt al enige ervaring opgedaan in jouw vakgebied. Voornamelijk het werken met Java en Spring spreekt jou aan. Jij wordt samen met je collega developers in het team verantwoordelijk voor de gehele back end van de applicatie. Hierdoor heb jij veel zelfstandigheid in je rol en zul je ook zelf beslissingen samen met de PO maken. Er wordt gewerkt volgens de SCRUM methodiek, om zo structuur te creëren in de werkzaamheden. Binnen de 2-wekelijkse sprints pak jij je taken op die samen met de PO afgestemd zijn.

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

08/05/2024 04:35:49
 

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.