我有一个用下划线分隔的字符串:
id_name_type_environment
这会给我这样的东西:
- 123456_MyName_x_dev
- 123456_AnotherName_y_dev
基本上基于我需要获得名称的类型。而不是进行字符串解析和子字符串,我想使用一个正则表达式来执行此操作,如果 type = x 然后提取名称
有没有一种简单的正则表达式方法可以做到这一点?
Regex regex = new Regex(".*_(.*)_x_.*");
string incomingValue = @"123_NAME_x_dev";
string inside = null;
Match match = regex.Match(incomingValue);
if (match.Success)
{
inside = match.Groups[1].Value;
}
如果 type=x,这应该得到名称,当然你可以将其更改为匹配 type=y
获取这样的类型:
var value = Regex.Match("123456_MyName_x_dev", @"(?<=^\w+_\w+_)\w+(?=_\w+$)").Value
并得到这样的名字:
var value = Regex.Match("123456_MyName_x_dev", @"(?<=^\w+_)\w+(?=_\w+_\w+$)").Value