2012-06-12 16 views
5

मैं एक नियमित अभिव्यक्ति की तलाश में हूं जो एक ही समय में एक वेबपृष्ठ पर दिखाए जाने वाले दो वाक्यांशों को सुनिश्चित कर सकता है।दो अलग-अलग वाक्यांशों से मेल खाने के लिए नियमित अभिव्यक्ति

दो वाक्यांश मैं वेब पर सुनिश्चित करने की आवश्यकता Current QPS (last 10s, ignored 0) कर रहे हैं और Average Latency (last 100 queries)

वेबपृष्ठ की तरह (क्वेरी समय अलग होगा, लेकिन पाठ में परिवर्तन नहीं होगा) दिखता है:

Query Statistics 

Average QPS 25.3673 
Average Latency 0.1002 
Average Latency (last 100 queries) 0.0834 # Match this one, ignore output-0,0834 
Average Search Latency 0.0555 
Average Docsum Latency 0.0330 
Sampling period 3133524.9570 
Current QPS (last 10s, ignored 0) 24.8000 # Also match this one, ignore output 24.8000 
Peak QPS 170.9000 
Number of requests 79717858 
Number of queries 79489080 

मैं वेबसाइट पर प्रत्येक वाक्यांश से मिलान करने में सक्षम हूं, लेकिन दो वाक्यांश एक साथ नहीं। मैं अपने उपकरण को दो वाक्यांशों के बीच सामग्री को अनदेखा कैसे कर सकता हूं?

पीएस मैं यहां किसी भी भाषा में प्रोग्रामिंग नहीं कर रहा हूं, रेगेक्स को ऐसे टूल में रखा जाएगा जो रेगेक्स स्वीकार करता है।

+0

मूल रूप से काम करना चाहिए, यह [इस सवाल] (का डुप्लिकेट http://stackoverflow.com/questions/5809272 है/सी तेज नियमित अभिव्यक्ति करने वाली मैच किसी भी-चरित्र)। –

+0

इसमें कुछ मुद्दों को शामिल किया गया है .. लेकिन यह वास्तव में एक डुप्लिकेट नहीं है। वह पूछ रहा था कि न्यूलाइन से कैसे निपटना है, यह पूछ रहा है कि रेगेक्स को कैसे जोड़ना है। – vergenzt

उत्तर

5

आप यह सुनिश्चित करें कि वे उस क्रम में दिखाई देगा, अगर सब पर है, तो यह काम करना चाहिए किया जा सकता है, तो:

(<query 1>).*(<query 2>) 

जैसे

(Average Latency \(last \d+ queries\)).*(Current QPS \(last \d+s, ignored \d+\)) 

आपको लगता है कि . ऑपरेटर आपके उपकरण में नई-पंक्तियों से मेल खाता है जांच करने की आवश्यकता हो सकती है। विशेष रूप से, यह कैसे संभालती है -

+0

लेकिन मुझे दो वाक्यांशों के बीच पाठ की आवश्यकता नहीं है। आप उनसे कैसे छुटकारा पा सकते हैं? – Madean

+0

आप किस उपकरण का उपयोग कर रहे हैं, और यदि आप पैटर्न पैटर्न से मेल खाते हैं तो आप क्या करने की कोशिश कर रहे हैं? – vergenzt

+0

मैं एक एंटरप्राइज़ टूल का उपयोग कर रहा हूं। असल में टूल रेगेक्स स्वीकार करता है और दो स्ट्रिंग्स मिलने पर पृष्ठ की स्थिति को अच्छी तरह से वापस कर देता है। – Madean

1

मेरा पहला सुझाव है कि आप उन्हें

/($regex1.*?$regex2|$regex2.*?$regex1)/ 
+0

मदद के लिए धन्यवाद, लेकिन दुर्भाग्यवश अभिव्यक्ति मेरे उपकरण में काम नहीं करती है। एक quesiont - '। *?' मध्य भाग को अनदेखा करने का काम करता है? – Madean

+0

''। *? '' दो अभिव्यक्तियों के बीच किसी भी (सबसे छोटे) भाग से मेल खाता है; शायद आपको एक ध्वज सेट करना होगा। न्यूलाइन से मेल खाते हैं – Hachi

0

यह उपकरण पर निर्भर करते हैं आप उपयोग कर रहे हो सकता है प्रकट करने के लिए उम्मीद बस किसी भी क्रम में अपने रेगुलर एक्सप्रेशन में दो पैटर्न को जोड़ने के लिए है एकाधिक लाइनें

आप इस कोशिश कर सकते हैं:

Average Latency \(last \d+ queries\)\s(.*\s)*Current QPS \(last \d+s, ignored \d+\)\s 
0

यह

(?im)^(Average\s+Latency\s+\(last\s+100\s+queries\)|Current\s+QPS\s+\(last\s+10s,\s+ignored\s+0\)).+