以下 url 的正则表达式模式
Regex Pattern for below url
有人可以给出下面示例的正则表达式模式 url 吗?
https://test.example.com/new/index.html?token=0A44AD94
如果有可能拆分该字段,那么我可以轻松填充这些值以监控每个用户 activity。
您可以使用以下正则表达式将这些类型的 URL 与可选的第三方组件匹配,其中参数 始终 遵循固定顺序:
https?://(?<domain>[^/]*).*\btoken=(?<token>[^&]*).*\bvalue=(?<value>[^&]*)(?:.*\bexit=(?<thirdparty>[^&]*))?
^^ ^^
注意[^/]*
匹配除/
以外的0个或多个字符,[^&]*
匹配除&
以外的0个或多个字符(这在匹配参数值时很有用在查询字符串中以免过度匹配)。 (?:...)?
是一个可选的非捕获组,可以存在也可以不存在,但正则表达式仍然会成功。
更新:
检查了几件事后,我认为这个正则表达式适合你:
%{IPORHOST:clientip} (%{USER:ident}|-) (%{USER:auth}|-) \[%{HTTPDATE:timestamp}\] (?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-) "%{URIPROTO}://(?<domain>[^/]*).*[&?]token=(?<token>[^&]*).*[&?]value=(?<value>[^&]*)(?:.*[&?]exit=(?<thirdparty>[^"&]*))?"(?:\s*%{QS:agent})?
由于某些原因,{QS:agent}
已经包含双引号。
有人可以给出下面示例的正则表达式模式 url 吗?
https://test.example.com/new/index.html?token=0A44AD94
如果有可能拆分该字段,那么我可以轻松填充这些值以监控每个用户 activity。
您可以使用以下正则表达式将这些类型的 URL 与可选的第三方组件匹配,其中参数 始终 遵循固定顺序:
https?://(?<domain>[^/]*).*\btoken=(?<token>[^&]*).*\bvalue=(?<value>[^&]*)(?:.*\bexit=(?<thirdparty>[^&]*))?
^^ ^^
注意[^/]*
匹配除/
以外的0个或多个字符,[^&]*
匹配除&
以外的0个或多个字符(这在匹配参数值时很有用在查询字符串中以免过度匹配)。 (?:...)?
是一个可选的非捕获组,可以存在也可以不存在,但正则表达式仍然会成功。
更新:
检查了几件事后,我认为这个正则表达式适合你:
%{IPORHOST:clientip} (%{USER:ident}|-) (%{USER:auth}|-) \[%{HTTPDATE:timestamp}\] (?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-) "%{URIPROTO}://(?<domain>[^/]*).*[&?]token=(?<token>[^&]*).*[&?]value=(?<value>[^&]*)(?:.*[&?]exit=(?<thirdparty>[^"&]*))?"(?:\s*%{QS:agent})?
由于某些原因,{QS:agent}
已经包含双引号。