C# 正则表达式获取数字和下划线C之间的字符串
我正在尝试生成一个正则表达式,以获取某个数字和下划线之间的字符串,例如: 我有CP_01Ags_v5,所以我需要一个正则表达式来匹配Ags。另一个例子是CP_13Hgo_v5和匹配HgoC# 正则表达式获取数字和下划线C之间的字符串,c#,.net,regex,C#,.net,Regex,我正在尝试生成一个正则表达式,以获取某个数字和下划线之间的字符串,例如: 我有CP_01Ags_v5,所以我需要一个正则表达式来匹配Ags。另一个例子是CP_13Hgo_v5和匹配Hgo 有什么想法吗?您可以使用环视来匹配数字和下划线之间的字符串,例如 (?<=\d)[A-Za-z]+(?=_) 输出 Ags Hgo 您可以使用“环视”仅匹配数字和下划线之间的字符串,例如 (?<=\d)[A-Za-z]+(?=_) 输出 Ags Hgo 根据您描述的示例和匹配项。你想要的东西
有什么想法吗?您可以使用环视来匹配数字和下划线之间的字符串,例如
(?<=\d)[A-Za-z]+(?=_)
输出
Ags
Hgo
您可以使用“环视”仅匹配数字和下划线之间的字符串,例如
(?<=\d)[A-Za-z]+(?=_)
输出
Ags
Hgo
根据您描述的示例和匹配项。你想要的东西跟你的想法差不多
[0-9]+(.*)[_]
把它分解。
正则表达式查找出现一次或多次的任何数字,然后匹配数字后面的所有内容,直到[uz]下划线为止
缺点是假设您提供的示例相似。如果你的例子是
CP_13Hgo_v5asdf_
然后它会匹配
Hgo_v5asdf
如果您有其他可能的发现,那么您需要这个正则表达式的非贪婪版本
这将导致在本例中找到两个组
CP_13Hgo_v5asdf_
将找到以下组:
Hgo
及
根据您描述的示例和匹配项。你想要的东西跟你的想法差不多
[0-9]+(.*)[_]
把它分解。
正则表达式查找出现一次或多次的任何数字,然后匹配数字后面的所有内容,直到[uz]下划线为止
缺点是假设您提供的示例相似。如果你的例子是
CP_13Hgo_v5asdf_
然后它会匹配
Hgo_v5asdf
如果您有其他可能的发现,那么您需要这个正则表达式的非贪婪版本
这将导致在本例中找到两个组
CP_13Hgo_v5asdf_
将找到以下组:
Hgo
及
使用正则表达式组:
使用正则表达式组:
如果您的字符串始终至少包含两个字符,并且没有其他至少包含两个字符的字符串,则可以应用以下内容:
var text = "CP_01Ags_v5";
var x = Regex.Match(text, @"(?<!^)[A-Za-z]{2,}");
如果您的字符串始终至少包含两个字符,并且没有其他至少包含两个字符的字符串,则可以应用以下内容:
var text = "CP_01Ags_v5";
var x = Regex.Match(text, @"(?<!^)[A-Za-z]{2,}");