apache mod header cookie 的否定前瞻正则表达式 - 保留某些 cookie

Negative lookahead regex for apache mod header cookies - keep certain cookies

尝试修改 apache 请求 header 指令,我需要使用否定先行正则表达式来仅保留某些 cookie。

测试字符串

someCookie=someValue; anotherCookie=yada61; cookieToKeep1=myValue; cookieToKeep2=myValue2; lastCookie=yada1

正在尝试删除除 cookieToKeep1cookieToKeep2 之外的所有 cookie。

我可以使用下面的正则表达式,但只匹配名称而不匹配 = 和 cookie 值。

\b((?!cookieToKeep1=\[^;\]*|cookieToKeep2=\[^;\]*).)\S+

我尝试过的 Apache 指令:

RequestHeader edit Cookie "(\b((?!cookieToKeep1=[^;]*|cookieToKeep2=[^;]*).)\S+)" ""

您可以使用此指令删除除 cookieToKeep1cookieToKeep2 之外的所有 cookie:

RequestHeader edit* Cookie "\b(?!(?:cookieToKeep1|cookieToKeep2)=)([^;=]+=[^;]*(?:; *|$))" ""

RequestHeader edit* performs multiple search and replacements.

RegEx Demo