正则表达式-根据条件从字符串中获取值
本文关键字:获取 字符串 -根 条件 正则表达式 | 更新日期: 2023-09-27 18:20:27
我有一个用下划线分隔的字符串:
id名称类型环境
这会给我这样的东西:
- 123456_MyName_x_dev
- 123456_其他名称_y_dev
基本上是基于我需要获得名称的类型。与其进行字符串解析和子字符串,我更愿意使用正则表达式来完成这项工作。如果type=x,则提取名称
有没有一种简单的regex方法可以做到这一点?
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;
}
如果类型=x,则应该获得名称,当然可以将其更改为匹配类型=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