Geachte
Ik heb momenteel wat issuetjes (klukt me helemaal niet) om ene reguliere expressie te schijven.
Deze moet het volgende doen: (ik werk trouwens in php)
ik heb een variabele ($type bevoorbeeld).
deze bevat:
1254521214
PP14214354
Als deze begint met PP wil ik de laatste 5 weergeven, anders de eerste 5.
Heb echter zelf al redleijk gezocht en hetzvolgende gevonden:
preg_match('/[a-z,0-9,A-Z]{2}/', $str, $matches); // eerste 2 tekens
preg_match('/.{3}$/', $str, $matches); // laatste 3 tekens.
echter het if statement er in wilt me niet zo lukken.
Dit moet met een reguliere expressie en niet rechtstreeks in de code omdat dit simpel) te customizen moet zijn zodat het specifiek kan zijn per gebruiker.
Met vriendelijke groeten
Haulotte Stijn
- Reguliere expressie
-
30-12-2014, 12:32 #1
- Berichten
- 57
- Lid sinds
- 19 Jaar
Reguliere expressie
-
In de schijnwerper
Ervaren WordPress & WooCommerce Developer – Pixel-perfect & Whitelabel maatwerk!Freelance / WerkLinkvada.com Linkbuilding Platform: Direct Linkbuilden op 77.000+ premium domeinenLinkpartnersPopi.nl | Linkbuilding Platform| 14.000+ MogelijkhedenLinkpartnersLaravel / Wordpress - Top kwaliteit voor een gunstig tariefFreelance / Werk -
30-12-2014, 13:14 #2
- Berichten
- 1.410
- Lid sinds
- 16 Jaar
Re: Reguliere expressie
Code:^(PP[a-z,0-9,A-Z].*([a-z,0-9,A-Z]{5})|([a-z,0-9,A-Z]{5})).*$
Check of er een match is voor match2 of voor match3
Check https://www.regex101.com/r/fV7lZ0/1
En test de string:
PP14214354 of 1254521214
-
30-12-2014, 13:24 #3
- Berichten
- 57
- Lid sinds
- 19 Jaar
Re: Reguliere expressie
hmm getting close just the response in want is on the lat eklement in array.
If would be perfect is it was the only element in array.
-
30-12-2014, 13:26 #4
- Berichten
- 1.410
- Lid sinds
- 16 Jaar
-
30-12-2014, 13:27 #5
- Berichten
- 57
- Lid sinds
- 19 Jaar
Re: Reguliere expressie
oeps srry
dichtbij.
enkel krijg ik het gewenste resultaat als laatste lemenet in de array.
Zou dit graag als eerste(en enige) element hebben).
-
30-12-2014, 13:31 #6
- Berichten
- 1.410
- Lid sinds
- 16 Jaar
Re: Reguliere expressie
Je kunt toch gewoon testen of element 2 of element 3 is gevonden?
Ik ben niet thuis in PHP maar zoiets:
Code:if (preg_match('/^(PP[a-z,0-9,A-Z].*([a-z,0-9,A-Z]{5})|([a-z,0-9,A-Z]{5})).*$/s', $subject, $regs)) { //Ik heb niets met PHP dus schrijf ik het als javascript, maar dat moet je toch om kunnen zetten in PHP? if($regs[2] != null){ $result = $regs[2] }else if($regs[3] != null){ $result = $regs[3] }else{ $result = "Not found"; } } else { $result = "Not found"; }
Het kan namelijk niet 1 element zijn in de array omdat de regex uit meerdere moet bestaan. (omdat je meerdere variaties zoekt)
-
30-12-2014, 13:41 #7
- Berichten
- 57
- Lid sinds
- 19 Jaar
Re: Reguliere expressie
Jah
eindelijk heeft me (maar) 6 uur tijd gekost :)
$pattern = "/(?(?=^(?!PP))[a-z,0-9,A-Z]{5}|.{5}$)/";
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic