2012-07-20 12 views
5

मेरे पास एक नियमित अभिव्यक्ति है जो तीन प्रकार के एस्ट्रोफ़ेस से मेल खाती है, '’‘। मैंने सीधे माइक्रोसॉफ्ट शब्द से पिछले दो को रेगेक्स में चिपकाया। हालांकि जब मैं इसका परीक्षण करता हूं, तो मेरी नियमित अभिव्यक्ति विफल हो जाती है और जब मैं फ़ायरफ़ॉक्स में अपनी जावास्क्रिप्ट सत्यापन स्क्रिप्ट का निरीक्षण करता हूं, तो मुझे '’‘ के बजाय '’‘\ दिखाई देता है। क्या मुझे उनसे बचने या ASCII प्रारूप का उपयोग करने की आवश्यकता है?नियमित अभिव्यक्ति के लिए विशेष चार जोड़ना?

+0

भागना इस उदाहरण में काम नहीं करेगा। ASCII आज़माएं। – SomeKittens

+0

उनमें से एक के लिए एएससीआई कोड ´ है। क्या आप मुझे दिखा सकते हैं कि यह कैसे करें? – user1436111

+1

यह सब कट-पेस्ट में खो जा सकता है। पूर्ण जेएस परीक्षण पोस्ट करें जिसे आपने विफल किया था। बाइट कोड की तरह दिखता है। – sln

उत्तर

1

/['\u2018\u2019]/ 

यह '’‘ में से किसी से मेल खाता है की कोशिश करो।

स्पष्टीकरण:

जावास्क्रिप्ट regexes में, \u1234 यूनिकोड कोडपॉइंट 1234 मेल खाता है। इस विशेष मामले के लिए सही कोड खोजने के लिए, मैंने पात्रों को EditPadPro में कॉपी किया और इसे यूनिकोड कोडपॉइंट्स में परिवर्तित कर दिया।

+0

कुछ स्पष्टीकरण अच्छा होगा। वे "इसे आजमाएं" - वास्तव में केवल मछली ही देते हैं, लेकिन मछली को कैसे दिखाते हैं। –

+0

आप मेरे नायक हैं। – user1436111

3

उपयोग unicode or octal codes:

/\u0022/ // matches " 
/\042/ // matches " 
+0

जेएस के नवीनतम संस्करण में ऑक्टल कोड को बहिष्कृत कर दिया गया है। – zzzzBov

+0

जानना अच्छा है। तुम जानते हो क्यों? – elclanrs

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