我正在寻找一个正则表达式,可以确保两个短语同时出现在网页上。
我需要确保在web上使用的两个短语是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 我能够匹配网站上的每个短语,但不能将这两个短语放在一起。如何让我的工具忽略这两个短语之间的内容?
附注:我在这里不是用任何语言编程,正则表达式将被放入一个接受正则表达式的工具中。
发布于 2012-06-12 22:26:16
如果您可以确定它们将按该顺序出现,那么这应该是可行的:
(<query 1>).*(<query 2>)例如。
(Average Latency \(last \d+ queries\)).*(Current QPS \(last \d+s, ignored \d+\))您可能需要检查.操作符是否与工具中的换行符匹配。
发布于 2012-06-12 22:26:56
我的第一个建议是在您的正则表达式中简单地添加这两个模式,按照您期望它们出现的任何顺序
/($regex1.*?$regex2|$regex2.*?$regex1)/发布于 2012-06-12 22:27:34
这可能取决于您使用的工具--具体地说,就是它如何处理多行。
您可以尝试这样做:
Average Latency \(last \d+ queries\)\s(.*\s)*Current QPS \(last \d+s, ignored \d+\)\shttps://stackoverflow.com/questions/10998665
复制相似问题