मैं वर्तमान में HTML पाठ का एक बड़ा बैच है मैच और मैं कई सीएसएस गुण है जो निम्न के समान है:नियमित अभिव्यक्ति एक एकल सीएसएस संपत्ति
font:16px/normal Consolas;
font:16px/normal Arial;
font:12px/normal Courier;
जो भी कई अन्य सीएसएस गुण और अन्य संबद्ध साथ आ जाते हैं एचटीएमएल मूल्य और टैग।
मैं एक नियमित अभिव्यक्ति है कि केवल इन "फ़ॉन्ट शैली" हड़पने होगा लिखने की कोशिश कर रहा है, इसलिए यदि मैं निम्नलिखित दो पैराग्राफ था:
<p style='font:16px/normal Arial; font-weight: x; color: y;'>Stack</p>
<span style='color: z; font:16px/normal Courier;'>Overflow</span>
<br />
<div style='font-family: Segoe UI; font-size: xx-large;'>Really large</div>
यह केवल गुण font:
के साथ शुरुआत से मेल खाएगा और अर्धविराम ;
के साथ समाप्त होता है।
मैं RegexHero का उपयोग कर के आसपास खेला है और निकटतम मैं मिल गया है था:
\b(?:font[\s*\\]*:[\s*\\]*?(\b.*\b);)
जो निम्नलिखित परिणाम सामने आए:
font:bold; //Match
font:12pt/normal Arial; //Match
font:16px/normal Consolas; //Match
font:12pt/normal Arial; //Match
property: value; //Not a Match
property: value value value; //Not a Match
लेकिन जब मैं का एक बड़ा ब्लॉक में ड्रॉप करने का प्रयास किया एचटीएमएल, चीजें उलझन में लग रही थीं और बड़े ब्लॉक को पहले निर्दिष्ट सीमाओं के बजाय चुना गया था।
मुझे कोई अतिरिक्त जानकारी और परीक्षण डेटा प्रदान करने में खुशी होगी जो मैं कर सकता हूं।
क्या आप सटीक मिलान प्राप्त करने के लिए delimiters का उपयोग नहीं करना चाहिए? कुछ जैसे^(\ b (?: फ़ॉन्ट [\ s * \\] *: [\ s * \\] *? (\ B। * \ B);)) $ – pollirrata