正则表达式匹配“/ 24af786e”字母和数字

时间:2017-02-01 10:34:24

标签: regex

我有这个网址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, "");
}

1 个答案:

答案 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选项。