0

我有一个用下划线分隔的字符串:

id_name_type_environment

这会给我这样的东西:

  • 123456_MyName_x_dev
  • 123456_AnotherName_y_dev

基本上基于我需要获得名称的类型。而不是进行字符串解析和子字符串,我想使用一个正则表达式来执行此操作,如果 type = x 然后提取名称

有没有一种简单的正则表达式方法可以做到这一点?

4

2 回答 2

1
        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

于 2013-06-28T11:30:55.183 回答
0

获取这样的类型:

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
于 2013-06-28T11:28:25.133 回答