2009-07-04 11 views
6

मुझे एक रेगेक्स की आवश्यकता है जो चीनी, ग्रीक, रूसी, ... अक्षरों से मेल खाती है। जो मैं मूल रूप से करना चाहता हूं वह विराम चिह्न और संख्या को हटा देता है।सभी अक्षरों (चीनी, ग्रीक, आदि सहित) के लिए RegEx

अब तक मैंने विराम चिह्न और संख्याओं को "मैन्युअल रूप से हटा दिया" लेकिन यह बहुत संगत प्रतीत नहीं होता है।

एक और बात मैं कोशिश की है

/[\p{L}]/ 

है, लेकिन है कि मोज़िला (मैं एक Firefox विस्तार में इसका उपयोग करें) द्वारा समर्थित नहीं है।

+0

तुम सिर्फ विशेष उपयोगकर्ता की भाषा के अनुसार पत्र से मिलान करने की जरूरत है या आप कुछ भी है कि किसी भी संभावित भाषा में एक पत्र है मैच के लिए की जरूरत है (जो केवल आपके लिए कोई स्थान के बारे में पता regex इंजन की जरूरत का मतलब है)? – balpha

+2

और आपको किस विराम चिह्न को हटाने की आवश्यकता है? क्या आपको ओ'ब्रायन में एस्ट्रोफ़े को हटाने की ज़रूरत है? –

+0

'[\ p {पी} \ पी {एन}] 'विराम चिह्न और संख्याओं का वर्णन करता है। – Gumbo

उत्तर

4

क्या आपने XRegExp और Unicode plugin को एक कोशिश/देखा है?

<script src="xregexp.js"></script> 
<script src="xregexp-unicode.js"></script> 
<script> 
    var unicodeWord = XRegExp("^\\p{L}+$"); 
    alert(unicodeWord.test("Ниндзя")); // -> true 
</script> 
+1

धन्यवाद, यह वही है जो मैं ढूंढ रहा था। हालांकि, मैं वास्तव में 8kb लाइब्रेरी को शामिल नहीं करना चाहता हूं जिसे मैं केवल अपने एक्सटेंशन में उपयोग करता हूं। यूनिकोड प्लगइन में यूनिकोड श्रेणी बहुत उपयोगी है और मुझे लगता है कि मैं उनको कुछ लिखने के लिए उपयोग करूंगा। – slosd

1

आप नियमित अभिव्यक्तियों पर वर्तमान ईसीएमए चश्मे के बारे में बहुत शिकायतें पा सकते हैं जो यूनिकोड वर्णों से निपटने के तरीके से निपटने के लिए नहीं हैं। जैसे एक blog entry by Scott Hanselman जो एक SO प्रश्न पर वापस लिंक करता है ;-)
अभी तक इस समस्या का कोई "वास्तविक" समाधान नहीं है, लेकिन Javascript + Unicode regexes के उत्तर पर एक नज़र डालें (आपका प्रश्न कम से कम एक डुप्लिकेट है) (संपादित करें: I इसे वापस ले लें, यूनिकोड प्लगइन जोनाथन लोनोव्स्की बहुत अच्छी लग रही है)

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