सी ++ में नियमित अभिव्यक्ति समर्थन का उपयोग करने में आसान?

मैं देशी सी ++ के लिए एक मजबूत, उपयोग में आसान, नियमित अभिव्यक्ति मूल्यांकनकर्ता की तलाश में हूं, या तो मंच-स्वतंत्र या विंडोज-विशिष्ट।

आवश्यकताएँ:

  • बूस्ट या एसीई रेगेक्स पुस्तकालयों (दुर्भाग्य से)
  • का उपयोग नहीं कर सकता
  • .NET Regex (या कोई प्रबंधित कोड)
  • का उपयोग नहीं कर सकता

मुख्य आवश्यकता यह है कि यह स्टैंडअलोन और खुला होना चाहिए।

0
जोड़ा संपादित
विचारों: 1
लेकिन ग्राहकों को बढ़ावा स्थापित करने की जरूरत नहीं है। बस बढ़ावा के साथ स्थिर रूप से लिंक करें, और कोई समस्या नहीं होनी चाहिए। (और आपको हमेशा वैसे भी बढ़ावा देने के साथ स्थिर रूप से लिंक करना चाहिए, भले ही क्लाइंट ने इसे इंस्टॉल किया हो, भले ही उनके पास एक ही संस्करण न हो, या इसे उसी विकल्प के साथ संकलित किया हो।)
जोड़ा लेखक James Kanze, स्रोत
@ जेम्स डेवेलिन मुझे बूस्ट के साथ शिपिंग के बारे में पता नहीं है; बूस्ट एक पैनसिया नहीं है, और मैं यह चुनता हूं कि मामले के आधार पर इसका उपयोग करना है या नहीं। (वास्तव में, क्योंकि अब मैं सी ++ 11 का उपयोग कर सकता हूं, मैं बूस्ट का बिल्कुल उपयोग नहीं करता हूं। मैंने इसे पहले से ही नियमित अभिव्यक्तियों के लिए इस्तेमाल किया था।)
जोड़ा लेखक James Kanze, स्रोत
बस उत्सुक - आप बूस्ट का उपयोग क्यों नहीं कर सकते?
जोड़ा लेखक svec, स्रोत

9 उत्तर

जीएनयू सी लाइब्रेरी नियमित अभिव्यक्ति का समर्थन करती है। यह खुला है, और आरई कोड आसानी से निकालने योग्य लगता है।

0
जोड़ा

If you use Visual Studio you can use Visual C++ 2008 Feature Pack Release, this implements some of TR1, and includes regular expression parsing. Get it

0
जोड़ा

try libpcre

यदि आप खिड़कियों पर फंस गए हैं तो उनके पास एक विंडोज पोर्ट है जो काम करना चाहिए। मुझे पता है कि ई-टेक्स्टडिटर इसका उपयोग करता है, इसलिए कम से कम यह सबूत यह काम करता है :-)

0
जोड़ा

आप माइक्रोसॉफ्ट एटीएल की रेगेक्स लाइब्रेरी का उपयोग क्यों नहीं करते? केनी केर ने एक हाल ही में उस पर लघु लेख

<�पी> एटीएल में एक हल्के नियमित अभिव्यक्ति कार्यान्वयन शामिल है। हालांकि   मूल रूप से विजुअल सी ++ का हिस्सा है, अब इसे एटीएल सर्वर के साथ शामिल किया गया है   डाउनलोड।      

CAtlRegExp क्लास टेम्पलेट पार्सर और मिलान को लागू करता है   इंजन। ...

     

नियमित अभिव्यक्ति व्याकरण atlrx.h के शीर्ष पर परिभाषित किया गया है   हेडर फ़ाइल।

0
जोड़ा

C++11 and forward now contains the standard regular expression library.
Include the header, and use.

0
जोड़ा

The free ATL Server Library and Tools from CodePlex includes a regex parser. See AtlServer in the CodePlex Archive

एटीएल सर्वर सी ++ कक्षाओं की एक पुस्तकालय है जो डेवलपर्स को बनाने की अनुमति देता है   सेवा-प्रकार सी ++ अनुप्रयोगों और वेब दोनों क्लाइंट और सर्वर भागों   सेवाएं। यह निर्माण करने के लिए आवश्यक अधिकांश कार्यक्षमता प्रदान करता है   बड़े पैमाने पर इंटरनेट साइटें, जैसे कि एसओएपी मैसेजिंग, कैशिंग   सुविधाएं, थ्रेडिंग सुविधाएं, नियमित अभिव्यक्ति प्रसंस्करण,   सत्र-राज्य का प्रबंधन, प्रदर्शन निगरानी, ​​एमआईएम समर्थन,   सुरक्षा के साथ बातचीत के लिए आईआईएस और कक्षा के साथ एकीकरण   क्रिप्टोग्राफिक आधारभूत संरचना। पुस्तकालय के पहले संस्करण हैं   विजुअल स्टूडियो 2002 के हिस्सों, विजुअल स्टूडियो 2003 और विजुअल स्टूडियो   2005. परियोजना विजुअल स्टूडियो 2005 एसपी 1 के हिस्से के रूप में जारी पुस्तकालय के संस्करण से शुरू हुई है।

0
जोड़ा

मैं पीसीआरई के लिए अनुशंसा करता हूं। मैंने इसे विंडोज़ में सी ++ परियोजनाओं में इस्तेमाल किया है और यह बहुत अच्छा काम करता है। वाणिज्यिक सॉफ्टवेयर बनाने के लिए भी यह मुफ़्त है। यह एक वास्तविक मानक नियमित अभिव्यक्ति भाषा का कुछ भी लागू करता है, जिसका आपके उपयोगकर्ताओं का स्वागत होगा। पीसीआरई निश्चित रूप से पर्ल-संगत है, और पायथन भी उसी लाइब्रेरी का उपयोग करता है।

देशी पीसीआरई इंटरफ़ेस थोड़ा अजीब और बहुत सी-शैली है, इसलिए शायद इसके चारों ओर एक अच्छा सी ++ रैपर लिखना उचित है। वहां बहुत पहले से ही एक है, लेकिन मैं किसी से परिचित नहीं हूं।

0
जोड़ा

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

http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport

आशा करता हूँ की ये काम करेगा

0
जोड़ा

Qt has also a nice Regular Expression implementation QRegExp. It is also platform independent.

0
जोड़ा