登录页面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
你怎么看?
^(.*[/])?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);
编辑:固定丢失的转义序列