2009-09-16 11 views
11

मुझे दिलचस्पी है in parsing regexes (पार्सिंग के लिए रेगेक्स का उपयोग करने में भ्रमित नहीं होना चाहिए)। वहाँ जावा 1.6 regexes के लिए एक BNF हैरेगेक्स के लिए बीएनएफ क्या है (पूर्ण या आंशिक पार्सर लिखने के लिए)

(या अन्य भाषाओं?) [ध्यान दें: वहाँ एक similar older question जो जावा के लिए एक जवाब के लिए नेतृत्व नहीं किया है।]

संपादित व्याख्या करने के लिए कारण है कि मैं क्या करने की जरूरत इस। हम प्राकृतिक भाषा प्रसंस्करण के लिए एक उथले पार्सर को कार्यान्वित कर रहे हैं जो पहले पहचानता है और टोकन टैग करता है। इन्हें फिर रेगेक्स के साथ संसाधित किया जाता है। मुझे यह जानने की जरूरत है कि रेगेक्स द्वारा कौन से समूह पर कब्जा कर लिया गया है (automaton केवल प्रत्येक ब्रैकेट के अंतिम भाग को कैप्चर करता है) और मैं रेगेक्स को टिप्पणियों के साथ एनोटेट करना चाहता हूं।

+0

आपको रेगेक्स को पार्स करने की आवश्यकता क्यों है? – Steven

+14

शायद वह एक रेगेक्स इंजन को कार्यान्वित कर रहा है? –

+1

[रेगेक्स व्याकरण] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/265457/regex-grammar) –

उत्तर

0

वहाँ एक होना प्रतीत नहीं होता है एसओ उत्तरों के अनुसार स्पष्ट regex।

6

Here वे BNF में पर्ल के regexes का वर्णन के प्रयास को इंगित:

http://www.cs.sfu.ca/~cameron/Teaching/384/99-3/regexp-plg.html

http://www.faqts.com/knowledge_base/view.phtml/aid/25718/fid/200

+0

http://www.faqts.com/knowledge%5Fbase/view.phtml/aid/25718/fid/ 200 मेरे लिए काम नहीं करता – Makach

+0

@ मकाच: '_' के साथ'% 5F' बदलें। ऐसा लगता है कि यूआरएल में इसे बदलना है। – Gumbo

+0

फॉक्स लिंक मृत प्रतीत होता है। Sfu.ca लिंक न तो ईपीएसलॉन और न ही वैकल्पिक प्रदान करता है, और जैसे कि सभी नियमित भाषाओं को एक पर्ल रेगेक्स के रूप में जटिल के रूप में निर्दिष्ट नहीं कर सकते हैं। – Recurse

2

मैं विशेष रूप से जावा 1.6 के लिए एक नहीं दिख रहा है; लेकिन यहाँ एक शुरुआत है कि हो सकता है आप से एक पूर्ण BNF का निर्माण कर सकते है:

http://www.users.pjwstk.edu.pl/~jms/qnx/help/watcom/wd/regexp.html#RegularExpressionBNF

... पैटर्न के लिए जावा 1.6 प्रलेखन का उपयोग कर:

http://java.sun.com/javase/6/docs/api/java/util/regex/Pattern.html

+0

इसके अलावा आपको अवगत होना चाहिए, अगर आप पहले से नहीं थे, तो जेडीके को नियमित अभिव्यक्तियों के लिए समर्थन है (इस पोस्ट में जुड़े पैटर्न वर्ग को देखें) - सुनिश्चित करें कि आप पहिया को पुनर्निर्मित नहीं कर रहे हैं। – RMorrisey

+0

अंतिम टिप्पणी को रद्द करें – RMorrisey

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