Προς το περιεχόμενο

Δύσκολα regexes


alkisg

Προτεινόμενες αναρτήσεις

Δημοσ.

Μπορεί κανείς να βρει λύση στο παρακάτω πρόβλημα;

 

Έχουμε ένα κομμάτι κώδικα στα ελληνικά, π.χ.

Για ι από 1 μέχρι 10

Γράψε 'Αυτό είναι σταθερά-αλφαριθμητικό'

τέλος_επανάληψης !Αυτό είναι σχόλιο

 

και θέλουμε να το χρωματίσουμε με php, χρησιμοποιώντας regexes.

Είναι εύκολο να γίνουν match τα σταθερά αλφαριθμητικά ('***') και επίσης τα σχόλια (!*** ως το τέλος γραμμής).

 

Το δύσκολο είναι ότι μπορεί να είναι εμφωλευμένα το ένα μέσα στο άλλο, οπότε και θα πρέπει να χρωματιστεί μόνο το πιο εξωτερικό από τα δύο:

'Αλφαριθμητικό με !σχόλιο που δεν πρέπει να χρωματιστεί'

!σχόλιο με 'αλφαριθμητικό' που δεν πρέπει να χρωματιστεί

 

Καμιά ιδέα για regex που να ξεχωρίζει τα παραπάνω;

 

Παράδειγμα στο http://users.sch.gr/alkisg/tosteki/index.php?topic=405.msg2602#msg2602 όπου το έφτιαξα με parsing αντί για regexes...

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...