2012-10-30 7 views
6

मेरे पास एक नियमित अभिव्यक्ति है जो अक्षरों, संख्याओं, _ और - (न्यूनतम और अधिकतम लंबाई के साथ) से मेल खाती है।पायथन रेगेक्स: चरित्र रेंज के अंदर व्हाइटस्पेस सहित

^[a-zA-Z0-9_-]{3,100}$ 

मैं पात्रों में से है कि सेट में खाली स्थान के शामिल करना चाहते हैं।

अजगर प्रलेखन के अनुसार:

जैसे \ या \ एस डब्ल्यू के रूप में

चरित्र कक्षाएं भी एक सेट के अंदर स्वीकार कर रहे हैं।

तो मैं करने की कोशिश की:

^[a-zA-Z0-9_-\s]{3,100}$ 

लेकिन यह बुरा चरित्र रेंज त्रुटि देता है। मैं उपरोक्त सेट में व्हाइटस्पेस कैसे शामिल कर सकता हूं?

उत्तर

18

समस्या \s नहीं है लेकिन - जो एक वर्ण श्रृंखला इंगित करती है, जब तक कि यह अंत में या कक्षा की शुरुआत न हो। इस का उपयोग करें:

^[a-zA-Z0-9_\s-]{3,100}$ 
+0

धन्यवाद m.buettner। की स्थिति - समस्या –

2

^[-a-zA-Z0-9_\s]{3,100}

_-\s एक सीमा के रूप में व्याख्या की गई थी। एक डैश खुद का प्रतिनिधित्व करने वाला पहला या आखिरी चरित्र होना चाहिए [...]

+0

धन्यवाद डीडीए था। समस्या वास्तव में की स्थिति थी - –

0

आप सही रास्ते पर हैं, स्लैश से बचने के लिए दूसरा बैकस्लैश जोड़ें, क्योंकि बैकस्लैश एक बचने वाला चरित्र है।

^[a-zA-Z0-9_\\-\\s]{3,100}$ 
संबंधित मुद्दे