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

Regex 正则表达式匹配“/24af786e“;字母和数字,regex,Regex,我有这个urlhttp://localhost:64685/Forum/Runner/runner_job/24af786e 我希望regex检查url是否在url末尾有一个/后跟8个字母或数字(如url中的数字) 这是我迄今为止最好的尝试,我知道它不好也不正确:/[^/A-Z]{9}/g 有人能给我指引正确的方向吗 编辑 我是如何运行正则表达式的 Regex regex = new Regex(@"/\/[^\W_]{8}$/"); Match match = regex.Match(url)

我有这个url
http://localhost:64685/Forum/Runner/runner_job/24af786e

我希望
regex
检查url是否在url末尾有一个
/
后跟8个字母或数字(如url中的数字)

这是我迄今为止最好的尝试,我知道它不好也不正确:
/[^/A-Z]{9}/g

有人能给我指引正确的方向吗

编辑

我是如何运行正则表达式的

Regex regex = new Regex(@"/\/[^\W_]{8}$/");
Match match = regex.Match(url);
if (match.Success)
{
    url.Replace(match.Value, "");
}
使用

在替换为正则表达式之前,无需检查匹配项。请注意,您使用的是
String.Replace
方法,而不是
Regex.Replace
one,并且没有将新值分配给
url
(字符串在C#中是不可变的)。看

详细信息

  • /
    -文字
    /
  • [^\W{8}
    -正好有8个字母或数字(
    [^\W}
    匹配非单词(
    \W
    )和
    字符以外的字符)
  • $
    -字符串结束

如果您只需要匹配ASCII字母/数字,请传递
RegexOptions.ECMAScript
选项。

使用此选项:
/\/[a-zA-Z0-9]{8}$/
/\/[^\W\u]{8}$/
@WiktorStribi\380;如果我将您的正则表达式与我的URL一起使用,请检查这个不错的工具@PeterHansen:您只使用ASCII吗?
[^\W\u]之间有什么区别吗
[a-zA-Z0-9]
?如果不是,那么在我看来后者更明确。@sp00m:请参阅我的最下面的注释。这是有区别的,因为在C#中,速记类默认支持Unicode,但我们可以使用专用选项将其关闭。另外,
[\w-[\u]]
也是一个可读的.NET兼容构造,可以用来代替
[^\w\u]
。拼写的变体也很好使用。因此,您的变体将匹配更多字符,例如
a
ô
,对吗?如果您没有通过
RegexOptions.ECMAScript
,则是。
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, "");