javascript
  • regex
  • xregexp
  • 2016-11-08 1 views 0 likes 
    0

    Ich versuche einige String-Manipulation für einige Wörter, die möglicherweise Unicode-Zeichen in ihnen haben oder nicht.XRegExp ersetzen

    Hier ist mein Code:

    var regex = XRegExp("(\\P{L}+)", "gui"); 
     
    var s = 'no sea demásiado tarde'; 
     
    var ret = XRegExp.replace(s, regex, "<span>$1</span>"); 
     
    
     
    console.log(ret);
    <script src="http://cdnjs.cloudflare.com/ajax/libs/xregexp/3.1.1/xregexp-all.min.js"></script>

    Aber die Worte sind nicht durch die span-Tags eingewickelt zu werden, wie erwartet. Woher?

    Danke

    Antwort

    2

    Weil Sie nicht-Buchstaben mit \\P{L}+ als \P{L} jedes Zeichen anders als ein Unicode Buchstaben wickeln.

    Verwenden Sie "\\p{L}+" Muster und ersetzen durch <span>$&</span> (die $& Rückreferenz steht für ein ganzes Spiel).

    var regex = XRegExp("\\p{L}+", "gui"); 
     
    var s = 'no sea demásiado tarde'; 
     
    var ret = XRegExp.replace(s, regex, "<span>$&</span>"); 
     
    
     
    console.log(ret);
    <script src="http://cdnjs.cloudflare.com/ajax/libs/xregexp/3.1.1/xregexp-all.min.js"></script>

    +1

    Jetzt bin ich peinlich ... Danke – Cornwell

    Verwandte Themen