Iată o problemă la care am fugit recent. Am atributele șiruri ale formularului
"x=1 and y=abc and z=c4g and ..."
Unele atribute au valori numerice, unele au valori alfa, altele au amestec, unele au date etc.
Fiecare șir este presupus pentru a avea " x = someval și y = anotherval
" la început, dar unele nu. Am trei lucruri pe care trebuie să le fac.
- Validează șirurile pentru a fi siguri că au
x
și y
.
- De fapt, parsează valorile
x
și y
.
- Obțineți restul șirului.
Având în vedere exemplul din partea de sus, acest lucru ar avea ca rezultat următoarele variabile:
$x = 1;
$y = "abc";
$remainder = "z=c4g and ..."
Întrebarea mea este: Există o modalitate (rezonabil) simplă de a analiza aceste și validare cu o singură expresie regulată? .: adică
if ($str =~ /someexpression/)
{
$x = $1;
$y = $2;
$remainder = $3;
}
Rețineți că șirul poate conține atributele numai x
și y
. Acesta este un șir valid.
Voi posta soluția mea ca răspuns, dar nu corespunde preferințelor mele cu un singur regex.