2010-04-07 14 views
6

विशेष रूप से, मैं लिनक्स कमांड का उपयोग कर रहा हूं:रेगेक्स का कौन सा पॉज़िक्स स्वाद पर्ल का उपयोग करता है?

$ find . -regextype posix-extended -regex '<some regex>' ...

मैं बस यह सुनिश्चित करना चाहता हूं कि मैं उपयोग कर रहा हूं POSIX प्रकार प्रकार पर्ल उपयोग है, क्योंकि यह अब तक सबसे ज्यादा परिचित है।

+1

पर्ल ने पॉज़िक्स रेगेक्स में कई एक्सटेंशन परिभाषित किए हैं (यानी यह बिल्कुल POSIX नहीं है)। मुझे नहीं लगता कि एक पॉज़िक्स बराबर है। आप किस विशिष्ट रेगेक्स सुविधाओं का उपयोग करना चाहते हैं? – Cameron

+1

यहां अंतर \ {और \\) का वाक्यविन्यास है। विस्तारित पॉज़िक्स वाले हैं जिन्हें आप चाहते हैं। –

+0

यह पूछने की तरह है कि हमर किस प्रकार की मोटरसाइकिल है। वे वास्तव में अलग-अलग चीजें हैं, हालांकि वे समान कार्य करते हैं। – jpaugh

उत्तर

1

पर्ल के रेगेक्स पॉज़िक्स विस्तारित लोगों की तरह अधिक हैं। बेसिक POSIX रेगुलर एक्सप्रेशन ( और { का उपयोग वास्तविक अक्षर, और \( और \{ विशेष वर्ण से मेल करने के लिए, लेकिन POSIX विस्तारित वाले वास्तविक वर्णों से मेल करने के लिए पर्ल \( में और या \{ वही अर्थ के लिए ( और { उपयोग करते हैं, एक ही पर्ल के रूप में तो पॉजिक्स-विस्तारित आप चाहते हैं।

8

पर्ल का नियमित अभिव्यक्ति इंजन पर्ल का नियमित अभिव्यक्ति इंजन है। perl पर्ल परिभाषित करता है।

विवरण के लिए, perldoc perlreref देखें।

5

पर्ल पर्ल नियमित रूप से पर्लिक्स नियमित अभिव्यक्तियों का उपयोग करता है। आप स्वयं वाक्यविन्यास की तुलना कर सकते हैं, उदाहरण के लिए regex(7) में।

9

पर्ल ने रेगेक्स के लिए अपने मानक को परिभाषित किया है। उदाहरण के लिए, PCRE जैसे सिस्टम हैं, जो पर्ल संगत नियमित अभिव्यक्तियों के लिए खड़े हैं।

+4

या पर्ल-संगत नियमित अभिव्यक्ति, है ना? – Cameron

+3

+1, हालांकि ध्यान दें कि पीसीआरई पूरी तरह से पर्ल-संगत नहीं है। –

+2

* नाम भ्रामक है, क्योंकि पीसीआरई केवल पर्ल-संगत है यदि आप पीसीआरई की सेटिंग्स का सबसेट मानते हैं और पर्ल की नियमित अभिव्यक्ति सुविधाओं का सबसेट मानते हैं। * Http://en.wikipedia.org/wiki/PCRE –

4

प्रति perldoc perlhist, पर्ल 0 ("वर्गीकृत। पूछो मत।") मूल नियमित अभिव्यक्तियों का उपयोग करते थे। दिसंबर के दिसंबर में पर्ल 1.000 से शुरू होने के बाद से सभी संस्करणों ने नियमित रूप से नियमित अभिव्यक्तियों का उपयोग किया है (और उन पर विस्तारित ...)।

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