C# 使用正则表达式将特定长度的字母数字字符串和字符串与hypens匹配

C# 使用正则表达式将特定长度的字母数字字符串和字符串与hypens匹配,c#,.net,regex,.net-4.5,C#,.net,Regex,.net 4.5,我正在解析URL,需要帮助匹配特定长度的字母数字字符串和带连字符的字符串 下面是一个示例字符串: http://www.theplace.com/er5465dF3/2288494033cbbbe3de861f60bdf6934c/zRklm2/The-Post-Is-Here 这是我对字母数字的定义,但它与URL中该长度的任何字母数字相匹配: [0-9a-zA-Z]{9} 我对此感到厌倦,但我不想让刀砍回来,也不能保证最后会有刀砍。所以我更接近这个: \/[0-9a-zA-Z]{9}\/

我正在解析URL,需要帮助匹配特定长度的字母数字字符串和带连字符的字符串

下面是一个示例字符串:

http://www.theplace.com/er5465dF3/2288494033cbbbe3de861f60bdf6934c/zRklm2/The-Post-Is-Here
这是我对字母数字的定义,但它与URL中该长度的任何字母数字相匹配:

[0-9a-zA-Z]{9}
我对此感到厌倦,但我不想让刀砍回来,也不能保证最后会有刀砍。所以我更接近这个:

\/[0-9a-zA-Z]{9}\/
我尝试了一些使用连字符正则表达式的方法,但是它们是我在上面没有长度属性的情况下的变体。那件事把我难住了。同样,不能保证连字符字符串将位于末尾或斜杠之间

这是我期望的每种类型的输出:

我应该只为
er5465dF3
返回一个长度为9的字母数字正则表达式的匹配项


我应该只回来
这篇文章在这里
带有连字符正则表达式。

只需在正则表达式中添加单词边界,即可实现精确匹配

\b[0-9a-zA-Z]{9}\b
输出:

er5465dF3

要将催眠分离

\b[A-Za-z]+(?:-[A-Za-z]+)+\b

预期的结果是什么?@AvinashRaj,我在第二次更新了我的问题
帖子在这里
有16个字符。我们可以对否决票发表评论吗?@AvinashRaj,这只是一个例子,它可以更长或更短