2012-06-12 18 views
5

İki sayfanın aynı anda bir web sayfasında gösterilmesini sağlayan düzenli bir ifade arıyorum.İki ayrı ifadeyi eşleştirmek için Normal İfade

Ben web'de sağlamak için gereken iki kelime Current QPS (last 10s, ignored 0) ve Average Latency (last 100 queries)

web sayfası (sorgu sefer farklı olacak, ama metin değişmeyecek) gibi görünür:

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 

I Web sitesinde her bir ifadeyi eşleştirebilirim, ancak iki ifadeyi birlikte kullanamıyorum. Aracımın iki deyim arasındaki içeriği göz ardı etmesini nasıl sağlayabilirim?

P.S. Burada herhangi bir dilde programlama yapıyorum, normal ifadeler normal ifadeyi kabul eden bir araca konulacak.

+0

çalışmalı, bu kopyası [Bu soru] (http://stackoverflow.com/questions/5809272 olduğunu/c-keskin normal ifade-to-eşleme herhangi karakter). –

+0

Aynı sorunlardan bazılarını içerir .. ama gerçekten bir kopya değil. Bu, yeni satırlarla nasıl başa çıkılacağını soruyordu, bu, normal ifadeleri nasıl birleştireceğini soruyor. – vergenzt

cevap

5

onlar hiç değilse, o zaman bu çalışması gerekir, o sırada görünür olduğundan emin olabilir edin:

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

Ör

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

Sen . operatör Aletinizdeki yeni satır aynı olup olmadığını kontrol etmek gerekebilir. o nasıl işleyeceğini, özellikle - benim ilk önermek

+0

Ancak iki deyim arasındaki metne ihtiyacım yok. Onlardan nasıl kurtulabilirsin? – Madean

+0

Hangi aracı kullanıyorsunuz ve bu desenler eşleştiğinde ne yapmaya çalışıyorsunuz? – vergenzt

+0

Kurumsal bir araç kullanıyorum. Temel olarak, araç iki dizge bulunursa, normal ifadeyi kabul eder ve sayfa durumunu iyi olarak döndürür. – Madean

1

bunları

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

Yardımlarınız için teşekkürler, ancak maalesef bu ifade aracımda çalışmıyor. Bir quesiont - '' '' '' '' 'orta kısmı görmezden gelerek mi yapar? – Madean

+0

''. *? '', Iki ifade arasındaki herhangi bir (en küçük) kısımla eşleşir; Belki de bir bayrak ayarlamalısın. yeni satırları eşleştirmek için – Hachi

0

O kullandığınız aracı bağlı olabilir görünmesini beklemek sadece herhangi bir sırada normal ifadede iki desenleri eklemektir Birden çok satır.

Bu deneyebilirsiniz:

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

Bu Temelde

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