2012-04-16 10 views
11

मुझे एक नियमित अभिव्यक्ति मिल रही है जो नियमों का पालन करती है।नियमित अभिव्यक्ति में विशेष वर्ण शामिल हैं और

स्वीकृत वर्णों

वर्णमाला: a-z/ए-जेड
संख्या: 0-9
विशेष वर्ण: ~ @ # $^& *() - _ + = [] {} | \,। ? :
(रिक्त स्थानों अनुमति दी जानी चाहिए)

अनुमति नहीं

विशेष वर्ण: <> ' "/;`%

+0

शेष पात्रों के बारे में क्या? क्या वे अनुमति है या नहीं? –

+0

क्या आपने एक के साथ आने की कोशिश की है? आपके पास इस सवाल का वास्तव में क्या सवाल है? – fivedigit

+2

और आप बस हमें यह बताने के लिए चाहते थे कि आपको यह पता चला? धन्यवाद। हो सकता है कि यह आपको भी मदद करता है: http://www.regular-expressions.info/ –

उत्तर

25

स्वीकृत वर्णों के लिए आप

^[[email protected]#$^*()_+=[\]{}|\\,.?: -]*$ 

उपयोग कर सकते हैं मान्य करने के लिए एक पूर्ण स्ट्रिंग जिसमें केवल अनुमत वर्ण शामिल होना चाहिए। ध्यान दें कि - अंत में है (क्योंकि अन्यथा यह एक सीमा होगी) और कुछ वर्ण बच निकले हैं।

अमान्य वर्ण के लिए आप उनके लिए जाँच करने के लिए

[<>'"/;`%] 

उपयोग कर सकते हैं।

दोनों एक एकल regex में संयोजित करने के लिए आप उपयोग कर सकते

^(?=[[email protected]#$^*()_+=[\]{}|\\,.?: -]*$)(?!.*[<>'"/;`%]) 

लेकिन आप एक regex इंजन कि अग्रदर्शी की अनुमति देता है की जरूरत होगी।

+0

क्या आप कृपया स्पष्टीकरण दे सकते हैं कि मैं अपने रेगेक्स का उपयोग कैसे कर सकता हूं ताकि इन वर्णों को केवल मेरे तारों में अनुमति दें और शेष सभी वर्णकों को अंतरिक्ष चरित्र में परिवर्तित कर सकें? –

+0

एक प्रश्न पूछें। – Joey

+0

इस उत्तर में मेरी मदद की, धन्यवाद @ जॉय: डी +1 – Anton

7

आप वास्तव में सवाल नहीं पूछा है, लेकिन यह सोचते हैं आप एक है, यह अपने जवाब ...

सभी पात्रों मान लिया जाये कि, "विशेष वर्ण" को छोड़कर हो सकता है की अनुमति है आप लिख सकते हैं

String regex = "^[^<>'\"/;`%]*$"; 
+0

क्या आप कृपया स्पष्टीकरण दे सकते हैं कि मैं अपने रेगेक्स का उपयोग कैसे कर सकता हूं ताकि इन पात्रों को केवल मेरे तारों में अनुमति दी जा सके और बाकी सभी चार्टर्स को सिंगल व्हाइटस्पेस कैरेक्टर में परिवर्तित कर सकें? –

+2

@ user01 'text = text.replaceAll (" [<> '\ "/;%]", "");' या यदि आप कई विशेष वर्णों और रिक्त स्थान को जोड़ना चाहते हैं 'text = text.replaceAll ("[<> '\ "/;%] +", ""); ' –

+0

बहुत बहुत धन्यवाद, लेकिन मेरे मामले में अस्वीकृत वर्ण सभी को अनुमति देने वाले सभी को छोड़कर हैं (अनुमत वाले प्रश्न प्रश्न के समान हैं)। क्या आप सुझाव दे सकते हैं कि अनुमति देने वाले लोगों को कैसे निर्दिष्ट किया जाए: ए-जेड/ए-जेड /0-9 ~ @ # $^और *() - _ + = [] {} | \,। ? : –

3
[[email protected]#\^\$&\*\(\)-_\+=\[\]\{\}\|\\,\.\?\s]* 

यह मिलान करने वाला होगा, अगर आप इसे केवल $ $ या किसी भी अन्य डिलीमीटर में लपेटने की अनुमति देना चाहते हैं, तो आप इसे देखते हैं, यदि आप ऐसा करते हैं तो यह कोई विशिष्ट अस्वीकार तर्क की आवश्यकता नहीं है।

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