Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Regular Expression

Îåêßíçóå áðü ôï ìÝëïò R4ZoR. Τελευταία δημοσίευση από το μέλος R4ZoR στις 07-09-2007, 13:55. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  06-09-2007, 22:02 34823

    Regular Expression

    Γεια σας, εχω ενα προβλημα με ενα σιγκεκριμενο String, στο οποιο δεν μπορω να αποκομισω ενα κομματι του, με την χρηση του regular expression. δεν ξερω αν ειναι γνωστη αυτη η τεχνολογια, την εμαθα προσφατα και μου φανικε ιδιαιτερα ευκολος τροπος για να κοβεις strings.

    λοιπον, το string ειναι αυτο :
    "http://www.youtube.com/jp.swf?video_id=qg1ckCkm8YI&eurl=&iurl=http://img.youtube.com/vi/qg1ckCkm8YI/default.jpg&t=OEgsToPDskJCPW5DvMKeM3srnQ5e0LS"

    θελω απο εδω, να παρω το κομματι που λεει : "http://img.youtube.com/vi/qg1ckCkm8YI/default.jpg"
    το expression που σκευτικα εγω, ειναι αυτο : ""^.+[iurl=](.+)[t=](.+)$"
    ομως δεν λεει να δουλεψει!!

    εχει κανεις ιδεα ποιο ειναι το σωστο expression? ευχαριστω!

    Δημοσίευση στην κατηγορία: , , ,
  •  06-09-2007, 23:39 34827 σε απάντηση της 34823

    Απ: Regular Expression

    Δοκίμασε να βάλεις στο [iurl=] αντί για αγκύλες παρενθέσεις. Θα πλησιάσεις περισσότερο σε αυτό που θέλεις. Κατά τα άλλα, αυτό που θέλεις να κάνεις είναι να σπάσεις ένα query string. Αν ψάξεις στο google για regular expression και query string ίσως το βρεις έτοιμο. Μπορείς επίσης να ψάξεις σε σχετικά sites όπως το regexlib.com.
     


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  07-09-2007, 09:08 34835 σε απάντηση της 34823

    Απ: Regular Expression

    R4ZoR:
    Γεια σας, εχω ενα προβλημα με ενα σιγκεκριμενο String, στο οποιο δεν μπορω να αποκομισω ενα κομματι του, με την χρηση του regular expression. δεν ξερω αν ειναι γνωστη αυτη η τεχνολογια, την εμαθα προσφατα και μου φανικε ιδιαιτερα ευκολος τροπος για να κοβεις strings.

    λοιπον, το string ειναι αυτο :
    "http://www.youtube.com/jp.swf?video_id=qg1ckCkm8YI&eurl=&iurl=http://img.youtube.com/vi/qg1ckCkm8YI/default.jpg&t=OEgsToPDskJCPW5DvMKeM3srnQ5e0LS"

    θελω απο εδω, να παρω το κομματι που λεει : "http://img.youtube.com/vi/qg1ckCkm8YI/default.jpg"
    το expression που σκευτικα εγω, ειναι αυτο : "^.+[iurl=](.+)[t=](.+)$"
    ομως δεν λεει να δουλεψει!!

    εχει κανεις ιδεα ποιο ειναι το σωστο expression? ευχαριστω!

    Το πρόβλημά σου είναι το αρχικό .+ το οποίο "καταναλώνει" όλο το string. Αυτό στις regular expressions λέγεται greedy expression, γιατί προσπαθεί να ταιριάξει με όσο το δυνατόν περισσότερο τμήμα του input της. Οι τελεστές + και * είναι greedy, και τα non greedy ισοδύναμά τους είναι τα +? και *?

    Δεν είναι απαραίτητο όμως να φτιάξεις ένα regex που να πιάνει όλο σου το string, αρκεί το κομμάτι που θέλεις να απομονώσεις. Στην περίπτωση αυτή αρκεί το &iurl=(.+?)&t=(.+)$

     


    Νατάσα Μανουσοπούλου
  •  07-09-2007, 13:55 34849 σε απάντηση της 34835

    Απ: Regular Expression

    ναι, εχετε δικιο! ευχαριστω πολυ!
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems