2013-02-15 10 views
54

मैं नियमित अभिव्यक्ति के लिए नया हूँ और निम्नलिखित नियमित अभिव्यक्ति दी गई है:नियमित अभिव्यक्ति p {एल} और p {एन}

(\p{L}|\p{N}|_|-|\.)* 

मुझे पता है कि * साधन और | मतलब "या" और वह \ escapes।

लेकिन मुझे नहीं पता कि \p{L} और \p{N} का अर्थ क्या है। मैंने इसके लिए Google की खोज की है, बिना परिणाम के ...

क्या कोई मेरी मदद कर सकता है?

+0

मैं भी Google पर है, लेकिन मैं [इस परिणाम] (https://stackoverflow.com/a/14891168/507738) मिला है। तेज उत्तर के लिए –

उत्तर

84

\p{L} श्रेणी "पत्र" में एक कोड कोड से मेल खाता है।
\p{N} किसी भी स्क्रिप्ट में किसी भी प्रकार के संख्यात्मक चरित्र से मेल खाता है।

स्रोत: regular-expressions.info

आप नियमित अभिव्यक्ति के साथ एक बहुत काम करने के लिए जा रहे हैं, मैं बुकमार्क है कि साइट है, यह बहुत उपयोगी है सुझाव देना चाहेंगे।

+0

thx :)। लेकिन regex तो 10 मैच मैच नहीं करना चाहिए? मैंने ऑनलाइन रेगेक्स मैचर की कोशिश की है: http://regexpal.com/ – Diemauerdk

+0

@ user1093774: मुझे नहीं लगता [regexpal] (http://regexpal.com/) '\ p {}' का समर्थन करता है, लेकिन हाँ, यह मिलना चाहिए – Cerbrus

+1

यह वाक्यविन्यास आधुनिक यूनिकोड रेगेक्स कार्यान्वयन के लिए विशिष्ट है, जो सभी दुभाषियों को पहचान नहीं है। आप {a-zA-Z} (ascii नोटेशन) या {\ w} (perl/vim notation) द्वारा सुरक्षित रूप से \ p {L} को प्रतिस्थापित कर सकते हैं; और \ p {N} {0-9} (ascii) या {\ d} (perl/vim) द्वारा। यदि आप उन सभी से मेल खाना चाहते हैं, तो बस करें: {a-zA-Z0-9} + या {\ w \ d} + –

17

यूनिकोड अक्षरों के लिए यूनिकोड गुण शॉर्टकट्स (\p{L} यूनिकोड अक्षरों के लिए \p{N}) हैं। वे .NET, पर्ल, जावा, पीसीआरई, एक्सएमएल, एक्सपीएथ, जेजीएसओफ्ट, रूबी (1.9 और उच्चतर) और PHP (since 5.1.0)

किसी भी दर पर समर्थित हैं, यह एक बहुत ही अजीब रेगेक्स है। आप प्रत्यावर्तन का उपयोग कर नहीं किया जाना चाहिए जब एक चरित्र वर्ग पर्याप्त होगा:

[\p{L}\p{N}_.-]* 
+0

एक्सएमएल में इसका रेगेक्स - मैंने खुद को रेगेक्स नहीं बनाया है :) – Diemauerdk

+0

इस तथ्य के अलावा कि कैप्चरिंग कोष्ठक का उपयोग किया गया था, आरईएस वास्तव में एक ही चीज़ (जैसे, किसी भी अनुकूलन आरई इंजन में '\ p { ...} 'पहली जगह से बचने की अनुक्रम शैली)। –

+0

जो XRegExp यूनिकोड प्लगइन की तरह दिखता है। जो यदि हां, तो किसी भी भाषा में कोई अल्फा-न्यूमेरिक होगा – Tim

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