Regex 正则表达式最多包含字符,但不包括字符

Regex 正则表达式最多包含字符,但不包括字符,regex,rewrite,Regex,Rewrite,这是以前做过的,我试图根据Stack Exchange中的其他条目自定义我的正则表达式,但我很难掌握它 我需要的是在rewritecond中匹配查询字符串参数,并获取cond的参数值并将其插入新字符串中 我的条件是: WT.mc_id=(\S+&|\S+$) 这使我接近我所需要的。但是我不想在重写规则的%1值中使用& 所以当有人给我WT.mc\u id=foo&bar=which我想要foo,而不是foo&。我也不想要空字符串,但我可以在代码中检查它。使用此正则表达式: (^|&

这是以前做过的,我试图根据Stack Exchange中的其他条目自定义我的正则表达式,但我很难掌握它

我需要的是在rewritecond中匹配查询字符串参数,并获取cond的参数值并将其插入新字符串中

我的条件是:

WT.mc_id=(\S+&|\S+$)
这使我接近我所需要的。但是我不想在重写规则的
%1
值中使用
&


所以当有人给我
WT.mc\u id=foo&bar=which
我想要
foo
,而不是
foo&
。我也不想要空字符串,但我可以在代码中检查它。

使用此正则表达式:

(^|&)WT\.mc_id=([^&]*)

请改用此正则表达式:

(^|&)WT\.mc_id=([^&]*)

也许是这样的:

WT\.mc_id=(\S+?)(?:&|$)

这将匹配一个literal
WT.mc_id=
,后跟一个或多个非空格字符,非贪婪地,在组1中捕获,后跟一个和或字符串结尾。

可能类似于:

WT\.mc_id=(\S+?)(?:&|$)
这将匹配一个literal
WT.mc_id=
,后跟一个或多个在组1中捕获的非贪婪的非空格字符,后跟一个和或字符串的结尾。

请尝试以下正则表达式:

WT.mc_id=(\w+)
这是我能想到的最简单的解决办法。 您也可以检查它并在周围玩

试试这个正则表达式:

WT.mc_id=(\w+)
这是我能想到的最简单的解决办法。
您也可以检查它,并在周围玩

@fred02138:这是有意的,因为任何查询字符串都应该在
%1
@fred02138:这是有意的,因为任何查询字符串都应该在
%1