登录页面URL的正则表达式

本文关键字:正则表达式 URL 登录 | 更新日期: 2023-09-27 18:10:01

现在,我有这样的代码:

string strURL = "aLogin.aspx?test=hello";
string strPattern = "(.*/)?Login.aspx(?.*)?";
bool bIsLoginPage = System.Text.RegularExpressions.Regex.IsMatch(strURL , strPattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase);

我正在寻找合适的regexp模式,我在一个损失。

模式必须满足这些条件

Login.aspx              ==> True
lOgIn.AsPx              ==> True
/Login.aspx             ==> True
whatever/Login.aspx     ==> True
whatever/lOgIn.aSpX     ==> True
WhAtEverLogin.aspx      ==> false
Login.aspxxxxxx         ==> false
Login.aspx?xyz=abc&etc  ==> true
Login.aspxxyz=abc&etc   ==> false
Login.aspx&xyz=abc&etc  ==> false

登录页面URL的正则表达式

你怎么看?

^(.*[/])?login.aspx([?].*)?$

你可以不使用regex:

var target = "Login.aspx";
strURL.Split('?').First().Split('/').Last().Equals(target, StringComparison.OrdinalIgnoreCase);

尝试string strPattern = "(^|.*/)Login.aspx($|''?.*)";bResult = System.Text.RegularExpressions.Regex.IsMatch(strURL , strPattern, RegexOptions.IgnoreCase);

编辑:固定丢失的转义序列