我有这个网址http://localhost:64685/Forum/Runner/runner_job/24af786e
我希望regex
检查网址末尾是否有/
后跟8个字母或数字(如网址中)。
这是我迄今为止最好的尝试,我知道它不好或不正确:/[^/A-Z]{9}/g
有人可以指导我朝正确的方向发展吗?
修改
我如何运行正则表达式,
Regex regex = new Regex(@"/\/[^\W_]{8}$/");
Match match = regex.Match(url);
if (match.Success)
{
url.Replace(match.Value, "");
}
答案 0 :(得分:1)
使用
Regex regex = new Regex(@"/[^\W_]{8}$");
// Or, to make it match only ASCII letters/digits:
// Regex regex = new Regex(@"/[^\W_]{8}$", RegexOptions.ECMAScript);
url = regex.Replace(url, "");
在替换正则表达式之前无需检查匹配项。请注意,您使用的是String.Replace
方法,而不是Regex.Replace
方法,并且没有将新值分配给url
(字符串在C#中是不可变的)。请参阅regex demo。
<强>详情:
/
- 文字/
[^\W_]{8}
- 正好8个字母或数字([^\W_]
与非字(\W
)和_
字符以外的字符匹配)$
- 字符串结束。如果您只需要匹配ASCII字母/数字,请传递RegexOptions.ECMAScript
选项。