C# 查找具有字母和数字模式的字符串
知道检查字符串是否包含具有以下模式的值并提取该值的最佳方法是什么吗 安娜aa aaaaC# 查找具有字母和数字模式的字符串,c#,C#,知道检查字符串是否包含具有以下模式的值并提取该值的最佳方法是什么吗 安娜aa aaaa 上面的a是字母,n是数字。您可以将其与简单的正则表达式一起使用: Regex.Match(value, @"\p{L}\d\p{L}-\p{L}{2}-\p{L}{4}") 这会产生一个(可能是,也可能不是)。获取成功匹配的值将生成所需的子字符串 上面,\p{L}匹配一个字母,\d匹配一个十进制数字,-匹配一个破折号。当后面跟有{}时,表达式需要特定数量的匹配项。你可以这样做,你应该尝试一些东西,当你遇到
上面的
a
是字母,n
是数字。您可以将其与简单的正则表达式一起使用:
Regex.Match(value, @"\p{L}\d\p{L}-\p{L}{2}-\p{L}{4}")
这会产生一个(可能是,也可能不是)。获取成功匹配的值将生成所需的子字符串
上面,
\p{L}
匹配一个字母,\d
匹配一个十进制数字,-
匹配一个破折号。当后面跟有{}
时,表达式需要特定数量的匹配项。你可以这样做,你应该尝试一些东西,当你遇到困难时再回来。如果你给出一个数据示例,比如a1b cd efgh
,问题会更清楚。您是要匹配整个字符串,还是只提取数字字符?您可能应该使用\p{Nd}
(数字,十进制数字)或\d
,而不是\p{N}
。前两个限制匹配到小数位数;后者匹配…而不是十进制数字:除了otNd
,它还匹配类别Nl
(数字、字母)和No
(数字、其他)。“数字、字母”匹配罗马数字、楔形文字、符文等。有关完整列表,请参阅。“数字,其他”匹配丁巴特、分数、腓尼基等。请参阅列表。@NicholasCarey感谢您的更正,我将答案更改为使用\d
。非常感谢。