Regex 需要正则表达式来匹配HTML响应中的多个字符串
我试图构建一个正则表达式来匹配HTML响应中的多个字符串。 这用于监视来自负载平衡器的网页。如果正则表达式具有匹配,负载均衡器将考虑服务器为UP,并将发送流量。 预期HTML响应的示例:Regex 需要正则表达式来匹配HTML响应中的多个字符串,regex,f5,Regex,F5,我试图构建一个正则表达式来匹配HTML响应中的多个字符串。 这用于监视来自负载平衡器的网页。如果正则表达式具有匹配,负载均衡器将考虑服务器为UP,并将发送流量。 预期HTML响应的示例: HTTP/1.1 200 X-AREQUESTID: *1KIRCWLx688x71065x0 X-XSS-Protection: 1; mode=block X-FRAME-OPTIONS: SAMEORIGIN X-Content-Type-Options: nosniff Access-Control-
HTTP/1.1 200
X-AREQUESTID: *1KIRCWLx688x71065x0
X-XSS-Protection: 1; mode=block
X-FRAME-OPTIONS: SAMEORIGIN
X-Content-Type-Options: nosniff
Access-Control-Allow-Origin: *
Content-Type: application/json
Transfer-Encoding: chunked
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Wed, 31 Oct 2018 11:28:14 GMT
{"state":"RUNNING"}
我想要实现的是尝试匹配{“state”:“RUNNING”}
或{“state”:“MAINTENANCE”}
和HTTP/1.1200
因此,我有以下工作正则表达式,但我不知道如何将它们捆绑在一起;-)
\{“状态\”:“运行\”\}{“状态\”:“维护\”}
{“状态”:“正在运行”}
或{“状态”:“维护”}
HTTP\/1\.(0 | 1)(200 | 301 | 302)
HTTP/1.1200
)
那么现在,我如何在所有条件下构建一个超级正则表达式呢
HTTP\/1\.(0 | 1)(200 | 301 | 302)
和\{“状态”:“运行状态”:“维护状态”:
有可能吗
提前感谢组合两个正则表达式只需将它们连接起来即可。如果要允许任意字符介于两者之间,请在它们之间使用
*
假设正则表达式匹配整个响应,包括标题和正文,而不仅仅是单行,下面的内容就足够了
HTTP\/1\.(0|1) (200|301|302)\r\n(.*?)(\{\"state\":\"RUNNING\"\}|\{\"state\":\"MAINTENANCE\"\})$
这将实现以下目的:
/HTTP\/1\.(0|1) (200|301|302).*?(\{\"state\":\"RUNNING\"\}|\{\"state\":\"MAINTENANCE\"\})/s
此版本中的键是s
标志,它允许
匹配换行符(\n
)
另一个不使用标志的选项:
HTTP\/1\.(0|1) (200|301|302)[\s\S]*?(\{\"state\":\"RUNNING\"\}|\{\"state\":\"MAINTENANCE\"\})
关键是
[\s\s]*?
,它以非贪婪的方式匹配任何内容(包括新行) 请注意,默认情况下,
与换行符(\n
)不匹配。