2010-07-08 25 views
44

regex xxx[any ascii char here, spaces included]+xxx मैच के लिए क्या है?
मैं xxx[(\w)(\W)(\s)]+xxx कोशिश कर रहा हूं लेकिन यह काम नहीं कर रहा है।Regex किसी भी ASCII वर्ण

उत्तर

55

तुम सच में किसी भी और ASCII (नहीं जैसे सभी यूनिकोड वर्ण) का अर्थ है:

xxx[\x00-\x7F]+xxx 

जावास्क्रिप्ट उदाहरण:

var re = /xxx[\x00-\x7F]+xxx/; 

re.test('xxxabcxxx') 
// true 

re.test('xxx☃☃☃xxx') 
// false 
+0

इस तरह से मैंने सोचा कि यह होगा काम करने के लिए प्रतीत नहीं होता । यह एएससीआई अक्षरों के BYTE प्रस्तुतियों से मेल खाता है, न कि दृश्य मुद्रित/टाइप किए गए वर्ण स्वयं? – anon58192932

+0

@advocate, हाँ यह करता है। आपने किस भाषा में परीक्षण किया था? यह हो सकता है। –

+0

ओह मैं कुछ ASCII वर्ण मुद्रित संस्करण से मेल करने के :) – anon58192932

4

.+[(\w)(\W)(\s)]+ के बजाय का उपयोग करें।

ध्यान दें कि यह वास्तव में एक से अधिक आप की जरूरत भी शामिल है - ASCII केवल पहले 128 वर्ण परिभाषित करता है। किसी भी वर्ण के लिए

0

. खड़ा है, तो आप इस तरह अपने रेगुलर एक्सप्रेशन से लिखें:

xxx.+xxx 
0

आप "ascii चार" के साथ क्या मतलब है पर निर्भर करता है आप बस

xxx.+xxx 
7

US-ASCII के बाद से कोशिश कर सकते वर्ण 0x00-0x7F (0-127) की बाइट रेंज में हैं:

xxx[\x00-\x7F]+xxx 
23

आप इसका उपयोग कर सकते हैं [[:ascii:]] वर्ग

+2

। अगर इसे लागू किया गया है – mykhal

+0

@catwalk आप आज के लिए मेरे नायक हैं! यह किसी कारण से \ x00- \ x7F स्वीकार नहीं कर रहा था, लेकिन यह लिया [: ascii:]। धन्यवाद! – n0nag0n

+4

ध्यान दें कि [[: ascii:]] किसी भी ASCII वर्ण, यहां तक ​​कि प्रिंट न हो सकने वर्ण, से मेल खाएंगे, जबकि [- ~] ASCII का सिर्फ प्रिंट करने योग्य सबसेट से मेल खाएगा। – elolos

40
[ -~] 

seen here यह टिल्ड को अंतरिक्ष से सभी ASCII वर्ण से मेल खाता है

तो अपने कार्यान्वयन होगा:

xxx[ -~]+xxx 
+0

यह एकदम सही है, के बाद से स्वीकार किए जाते हैं जवाब [रेग्युलर ऍक्सप्रैशन] ASP.NET MVC में विशेषता के साथ काम नहीं किया है - यह यूनिकोड वर्ण के रूप में प्रदान किया जाता है और इस मान्यता टूट जाता है। – Art

+2

वास्तव में सुरुचिपूर्ण समाधान, अत्यधिक पठनीय और अर्थात् वास्तव में जो मैं खोज रहा था। –

+0

@Art यह मेरे लिए '[RegularExpression]' विशेषता के साथ काम नहीं कर रहा है ... क्या आपको इसके लिए काम करने के लिए कुछ और करना है? मेरी विशेषता सिर्फ '<घटक है। डेटाअनोटेशन। रेगुलरएक्सप्रेस (" [- ~] ", त्रुटि संदेश: =" अमान्य वर्ण शामिल हैं। ") 'लेकिन" asdf "भी स्वीकार नहीं करेगा। – Zack

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