2012-12-25 27 views
15

नियमित अभिव्यक्ति शर्तों का समर्थन करने के संबंध में पर्ल और जावा के बीच अंतर क्या हैं?पर्ल और जावा रेगेक्स क्षमताओं के बीच अंतर क्या हैं?

यह सवाल सिर्फ नियमित अभिव्यक्ति के लिए अलग है, और विशेष रूप से कैसे regex इस्तेमाल किया जा सकता में मतभेद शामिल नहीं - जैसे बचने के लिए जावा आवश्यकता के रूप में भाषाओं के बीच और वाक्यात्मक मतभेद - यानी कार्य/उपलब्ध तरीकों कि उपयोग regex बैकस्लाश इत्यादि

विशेष रुचि के आंशिक/कभी-कभी समर्थन जावा के परिवर्तनीय लम्बाई के पीछे है।

+0

प्रश्न से थोड़ा दूर, लेकिन यह ** ईसीएमए ** (जेएस) रेगेक्स और पर्ल के बीच एक मोटा तुलना है: http://stackoverflow.com/a/12127503/1400768 – nhahtdh

उत्तर

16

java.util.regex.Pattern के "पर्ल 5 की तुलना" अनुभाग में कई अंतर सूचीबद्ध हैं। उदाहरण के लिए, जावा conditional regex का समर्थन नहीं करता है। इसके लिए, आपको JRegex जैसी कुछ बाहरी लाइब्रेरी का उपयोग करने की आवश्यकता है।

+8

यह काफी पूरा लगता है। उसमें, मैं जोड़ता हूं कि पर्ल रेगेक्स इंजन में दूसरों की तुलना में यूनिकोड समर्थन बेहतर है। वास्तव में, पर्ल देवों ने हाल ही में यूनिकोड मानक में कमियों का सामना किया क्योंकि कोई भी पहले कभी भी पर्ल के पास नहीं मिला है। (परिणाम के रूप में मानक अद्यतन किया गया था!) – ikegami

1

java.util.regex में एक पैराग्राफ है। पैटर्न API "पर्ल 5 की तुलना"।

+0

कृपया एक लिंक जोड़ें। पेज जो मुझे खोज से मिला है वह कह रहा है कि पर्ल रेगेक्स में ऐसी सुविधा नहीं है जो एक दशक पहले जोड़ा गया था। – ikegami

+0

@ikegami .. संभवतः आप जावा 6 या पुराने लिंक पर पहुंचे हैं। जावा 7 में 'पैटर्न कक्षा' के लिए खोजें। मैंने अपने जवाब में लिंक जोड़ा है। –

1

टॉम क्रिश्चियनसेन का OSCON बात Unicode Support Shootout: The Good, the Bad, & the (mostly) ugly कवर पर्ल और जावा (और अन्य भाषाओं) के बीच मतभेद regexes के लिए यूनिकोड तकनीकी सिफारिशों के समर्थन के बारे में से कुछ से स्लाइड, और वे जावा 1.6 और 1.7 (जो समर्थन काफी बेहतर बनाता है) के बीच अंतर ।

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