Thursday 15 January 2015

javascript - Prepend backslash to selected characters with regex -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 1 उत्तर

    मैं जिस कोड का उपयोग करता हूं पल बदसूरत है क्योंकि मुझे प्रत्येक विशेष चरित्र के लिए अलग से "प्रतिस्थापित" लिखना है।

      var str = ": '' & gt;"; । Str.replace ( "", "\\ '") की जगह ( "& gt;", "\\ & gt;");   

    मैं बैकस्लैश को & lt; & Gt; * () और? के माध्यम से regex।

    एक regex का उपयोग करके वर्णों से मेल खाता है चरित्र सेट, आप कोशिश कर सकते हैं:

      str = str.replace (/ ([& lt; & gt; * ()?]) / जी, "\\ $ 1");   

    डेमो:

    यह [] के अंदर के किसी भी अक्षर से मेल खाता है (जिन्हें आपने निर्दिष्ट किया है ), उन्हें आसपास के () (ताकि इसे संदर्भित पाठ भाग में $ 1 के रूप में संदर्भित किया जा सकता है) के साथ कैप्चर करता है और फिर \\


    अद्यतन करें:

    श्री से एक सुझाव के रूप में @ TJCrowder , यह () के साथ कैप्चर करने के लिए अनावश्यक है, $ 1 से $ & amp; को परिवर्तित किया गया है:

      str = str.replace (/ [& lt; & gt; * ()?] / जी, "\\ $ & amp;"); संदर्भ:  
    • Regex वर्ण सेट:
    • $ 1 और $ & amp; उपयोग:

No comments:

Post a Comment