Ho la seguente array in PHP:espressione regolare per trovare le lettere prima o dopo una certa lettera
$words = array("apple", "banana", "lemon");
voglio cercare una parola, in cui corrisponde il seguente profilo:
- La prima lettera può essere qualsiasi cosa
a-z
- La seconda lettera deve essere la stessa lettera o dopo la prima lettera (cioè se la prima lettera era
p
, la seconda lettera deve esserep
o af ter nella alfabetico) - La terza lettera deve essere la stessa lettera, o dopo la seconda lettera
- La quarta lettera deve precedere la terza lettera
- La quinta lettera deve precedere la quarta lettera
Esiste un modo per creare un'espressione regolare che possa corrispondere alle condizioni di cui sopra? Questo sarebbe il migliore, visto che sto cercando di creare un'implementazione in MySQL, quindi le espressioni regolari sarebbero più trasferibili alla nuova situazione.
Ho creato quanto segue e funziona solo fino alla terza lettera. Il 4 ° e il 5 hanno errori. Spero che tu possa vedere la logica in quello che sto cercando di fare ... [DEMO] (https://regex101.com/r/nH2fJ7/1) – Druzion
Puoi usare ['ord()'] (http: // php.net/manual/en/function.ord.php) come in [questa demo] (https://eval.in/543423) per confrontare [valori ASCII] (http://www.ascii-code.com/). In MySQL [funzioni personalizzate] (http://dev.mysql.com/doc/refman/5.7/en/adding-functions.html) può essere aggiunto ma probabilmente ci sarà un certo sforzo. Con regex di MySQL penso che non sia fattibile. –