2012-05-15 15 views
5

पाता है, मैंने इसे अपने previous similar question पर अपडेट के रूप में पूछने के लिए सोचा लेकिन यह बहुत लंबा हो गया।रेगेक्स में अनावश्यक तारांकन जो सीएसएस टिप्पणी

मैं एक regex w3.org में दी गई है कि सीएसएस टिप्पणी से मेल खाता है समझने की कोशिश कर और इस संदेह हो गया

वे

\/\*[^*]*\*+([^/*][^*]*\*+)*\/ 
----------------^ 
सिर्फ

\/\*[^*]*\*+([^/][^*]*\*+)*\/ 

के बजाय

क्यों प्रयोग करते हैं किया गया था?

दोनों समान रूप से काम कर रहे हैं। उनके पास एक अतिरिक्त सितारा क्यों है?

  1. के इस हिस्से पर नजर डालते हैं:

    \*+([^/*][^*]*\*+)* 
    -A- --B--  -C- 
    

    Regex इंजन एक हिस्सा पार्स और सभी सितारों से मेल खाते हैं जब तक वहाँ है और नहीं सितारों या वहाँ एक लाइन ब्रेक है जाएगा। तो एक बार ए किया जाता है, तो अगला चरित्र एक लाइन ब्रेक या कुछ और होना चाहिए जो स्टार नहीं है। तो [^/] का उपयोग करने के बजाय उन्होंने [^/*] का उपयोग क्यों किया?

  2. दोहराए गए कैप्चरिंग समूह को भी देखें।

    ([किसी भी एक चार जो वह नहीं है/या *] [है कि शून्य या अधिक वर्ण नहीं *] [एक या अधिक सितारों])

    यह कम से कम एक या अधिक सितारों के साथ समाप्त पात्रों के समूह कैप्चर करता है। तो सी अगले सितारों में मैच के लिए कोई सितारों के साथ बी छोड़कर सभी सितारों को ले जाएगा।

    तो बी भाग को किसी भी सितारों को पूरा करने का मौका नहीं मिलेगा। यही कारण है कि मुझे लगता है कि वहाँ एक सितारा डालने की जरूरत नहीं है।

लेकिन यह regex w3.org में है, इसलिए मुझे लगता है कि मेरी समझ गलत हो सकती है। कृपया मुझे बताएं कि मैं क्या खो रहा हूं।

उत्तर

3

यह पहले से ही CSS3 Syntax module में सही किया गया है:

\/\*[^*]*\*+([^/][^*]*\*+)*\/ /* ignore comments */ 

सूचना है कि बाहरी तारांकन चला गया है, इस अभिव्यक्ति तुम्हारे पास क्या है के समान बना रही है।

तो ऐसा लगता है कि सीएसएस 2 के लिए व्याकरण लिखते समय यह केवल एक गलती थी। मैं मेलिंग सूची अभिलेखागार खोद रहा हूं यह देखने के लिए कि क्या कोई चर्चा है जो प्रासंगिक हो सकती है।

+0

ओएमजी! तो मैं सही था (और पता लगाने में देर हो चुकी थी।) मैंने केवल सोचा था कि वे मेरे दिमाग को ठीक करने के लिए सही और थक गए होंगे जो मुझे याद आ रहा है। मुझे नहीं लगता था कि यह CSS3 में बदल दिया गया होगा। धन्यवाद। – Vigneshwaran

+0

हां। मैं किसी भी प्रासंगिक चर्चा के लिए आपके लिंक की प्रतीक्षा कर रहा हूं। – Vigneshwaran

+0

मुझे कुछ भी नहीं मिल रहा है:/ – BoltClock