2012-04-10 8 views
11

मैं < और> मेरे बाहरी डिलीमीटरों के बीच में सभी सामग्री को पकड़ने के लिए स्वीकार करने के लिए एक रेगेक्स अभिव्यक्ति प्राप्त करने का प्रयास कर रहा हूं।क्या कोण ब्रैकेट (< or >) नियमित अभिव्यक्ति में विशेष हैं?

इसलिए इस तरह

<tfdsfa> 

तरह की सामग्री को पकड़ा जाना चाहिए।

क्या मुझे < और> अक्षर या कुछ से बचना है?

Regex मेरी स्क्रिप्ट द्वारा उत्पन्न: फ़ाइल से

/<[^(>)]*>/g 

कोड:

data.method.highlight = function() { 
    var x = data.syntax, 
     text = data.$.span.html(); 
    for (var i=0, len = x.length; i < len; i++) { 
     var rx; 
     if (x[i].range) { 
      rx = new RegExp(x[i].tag[0] + "[^(" + x[i].tag[1] + ")]*" + x[i].tag[1], "g"); 
      console.log(rx); 
     } 
     else { 
      var temprx = x[i].tag[0]; 
      for (var z = 1; z < x[i].tag.length; z++) { 
       temprx += "|" + x[i].tag[z]; 
      } 
      rx = new RegExp(temprx, "g"); 
     } 
     text = text.replace(rx,function (match) { 
      console.log("looping - range"); 
      return '<span class="' + x[i].class.default + '">' + match + '</span>'; 
     }); 
     data.$.span.html(text); 
    } 
}; 
+9

आपका रेगेक्स काम करता है। वास्तव में यह है कि आप हासिल करने में विफल रहते हैं? –

+0

किसी भी समय जब आप रेगेक्स विकसित कर रहे हैं तो इस टूल का उपयोग करें: http://gskinner.com/RegExr/ –

+0

क्या आप दिखा सकते हैं कि आप इस अभिव्यक्ति का उपयोग कैसे कर रहे हैं? – MilkyWayJoe

उत्तर

16

न तो < और न ही > एक रेगुलर एक्सप्रेशन के अंदर अक्षरों से परे हैं।

यह मेरे लिए काम करता है:

'<foo> and <bar>'.match(/<[^>]*>/g); // ["<foo>", "<bar>"] 
+0

पर अपना "हाइलाइट" कोड जोड़ा है क्या आप मेरे द्वारा किए गए संपादन को देख सकते हैं। रेगेक्स काम करता है जब मैं इसे jsfiddle में चलाता हूं लेकिन मेरी लिपि में नहीं। कोई विचार यह कैसे हो रहा है? –

+0

@ माइकडेपीज, 'console.log (rx)' से आउटपुट क्या है? अधिक विशेष रूप से, आप RegExp कन्स्ट्रक्टर, 'टेक्स्ट' का सटीक मान, और परिणाम बनाम अपेक्षित मान को सटीक स्ट्रिंग क्या भेजते हैं? – davin

+0

समस्या का पता लगाया, धन्यवाद कि पाठ मूल्य क्या समाप्त हो रहा है। पाठ <वर्णों को उनके एचटीएमएल विशेष चरित्र काउंटर भाग में परिवर्तित कर रहा था। मुझे पोस्ट करने से पहले इस बारे में वास्तव में सोचना चाहिए था। धन्यवाद। –

-1

हो सकता है आप समस्या है क्योंकि आप HTML और ब्राउज़र में परिणाम सम्मिलित करने का प्रयास 'सोचता है कि' है कि यह एक मान्य नहीं एचटीएमएल टैग है, <blablabla> की तरह।

संबंधित मुद्दे