Php 有效的区分大小写的正则表达式

Php 有效的区分大小写的正则表达式,php,regex,case-sensitive,Php,Regex,Case Sensitive,我曾尝试使用许多可能的解决方案将此正则表达式更改为区分大小写(/[u=|&l=|&dl=|&f=]/I等等),但我没有使它按我想要的方式工作 u=,&l=,&dl=,&f=是从档案照片中拍摄的。php?u=edgren&dl=。我使用这个正则表达式仅获取用户名edgren,并识别其他get(例如l、dl和f) Looking.”(isset($\u-GET['l'])?“likes':(isset($\u-GET['dl'])?“dislikes':“favorites”)其中打印了“Looki

我曾尝试使用许多可能的解决方案将此正则表达式更改为区分大小写(
/[u=|&l=|&dl=|&f=]/I
等等),但我没有使它按我想要的方式工作

u=
&l=
&dl=
&f=
是从
档案照片中拍摄的。php?u=edgren&dl=
。我使用这个正则表达式仅获取用户名
edgren
,并识别其他get(例如l、dl和f)

Looking.”(isset($\u-GET['l'])?“likes':(isset($\u-GET['dl'])?“dislikes':“favorites”)
其中打印了“Looking-at-edgrens dislikes”,URL
profile photos.php?u=edgren&dl=

如果GET是&dl=这是错误的,那么我现在使用的正则表达式将打印
egren
()。可以说,我想打印整个用户名,而不是它的一半

我如何解决我的问题


提前感谢。

您将交替与字符类混淆了。如果要匹配多个字符串中的一个,请使用圆括号:
(u=|&l=|&dl=|&f=)
。方括号用于字符类(其含义为“匹配一个字符,如果它是这些方括号之间指定的字符之一”)


另外,
i
使正则表达式显式不区分大小写

您将交替与字符类混淆了。如果要匹配多个字符串中的一个,请使用圆括号:
(u=|&l=|&dl=|&f=)
。方括号用于字符类(其含义为“匹配一个字符,如果它是这些方括号之间指定的字符之一”)


另外,
i
使正则表达式显式不区分大小写

那么,这将是什么呢?如果是这样的话,您可能希望在问题中明确添加该标记。对不起:)我的错。对首先,如果要匹配多个字符串中的一个,请使用圆括号:
(u=|&l=|&dl=|&f=)
。方括号用于字符类(仅用于单个字符)。另外,
i
使regex不区分大小写。这就是你的意思吗?它似乎在做你要求它做的事。但也许我弄错了什么。什么是正则表达式,什么是字符串?顺便说一句,PHP还有
parse_url()
parse_str()
用于拆分GET param字符串。那么,这就是了?如果是这样的话,您可能希望在问题中明确添加该标记。对不起:)我的错。对首先,如果要匹配多个字符串中的一个,请使用圆括号:
(u=|&l=|&dl=|&f=)
。方括号用于字符类(仅用于单个字符)。另外,
i
使regex不区分大小写。这就是你的意思吗?它似乎在做你要求它做的事。但也许我弄错了什么。什么是正则表达式,什么是字符串?顺便说一句,PHP还有
parse_url()
parse_str()
用于拆分GET param字符串。