2011-08-11 6 views
7

क्या कोई जानता है कि जेएस में POSIX regexp (?<!X)A का अनुवाद कैसे करें?जेएस regexp (? <! एक्स) ए

एक ही पता करें कि एक्स द्वारा

+1

आप इस दिलचस्प लग सकते हैं: http://blog.stevenlevithan.com/archives/ नकल-lookbehind-जावास्क्रिप्ट। – pimvdb

+0

मुझे नहीं लगता कि नकारात्मक दिखने वाले पॉज़िक्स में हैं, बीआरई और न ही ईआरई में लुकराउंड समर्थित नहीं हैं। ;-) – Qtax

उत्तर

3

लघु जवाब पहले नहीं: आप नहीं कर सकते।

जावास्क्रिप्ट RegExp Object नकारात्मक दिखने का समर्थन नहीं करता है।

+0

@ डॉटवेब, -1, यह नहीं है, और आपका उत्तर अन्यथा साबित नहीं होता है। – Qtax

5

आप या तो शुरूआत के लिए जाँच (Ergo कोई एक्स है) या वहाँ एक गैर एक्स चरित्र है।

(^|[^X])A 

एक से अधिक चरित्र के लिए, आप A के लिए जांच कर सकता है और उसके बाद एक्स के लिए मिलान वाला पाठ एक के बाद जाँच, और अगर यह दूसरा नमूने का मिलान मैच त्यागें।

+0

+1 यह तब तक व्यवहार करेगा जब तक कि वैश्विक संशोधक चालू न हो। – Paulpro

+3

यह ** केवल ** काम करेगा यदि एक्स एक एकल चरित्र है। –

0

इस प्रयास करें:

var str = "ab"; 
console.log(/a(?!x)/i.exec(str)); //a 

var str = "ax"; 
console.log(/a(?!x)/i.exec(str)); //null 

यदि आप के बाद "एक" भाग की जरूरत है, की कोशिश:

/a(?!x).*/i 
+0

यह समस्या को हल नहीं करता है ... –

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

  • कोई संबंधित समस्या नहीं^_^