Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将正则表达式更改为在数字后处理uuSYMBOL?_C#_Regex - Fatal编程技术网

C# 如何将正则表达式更改为在数字后处理uuSYMBOL?

C# 如何将正则表达式更改为在数字后处理uuSYMBOL?,c#,regex,C#,Regex,我想要一个可以匹配以下名称的正则表达式: Standard\u DS1\u v2 Standard\u DS2\u v2 … Standard\u DS15\u v2 Standard_DS1 标准\u DS2 … Standard_DS14 Standard\u GS1 Standard\u GS2 … Standard_GS5 现在我有了以下正则表达式: private const string PremiumStorageRoleSizesRegex = @"^Standard_((DS)

我想要一个可以匹配以下名称的正则表达式:

Standard\u DS1\u v2
Standard\u DS2\u v2
Standard\u DS15\u v2

Standard_DS1
标准\u DS2
Standard_DS14

Standard\u GS1
Standard\u GS2
Standard_GS5

现在我有了以下正则表达式:

private const string PremiumStorageRoleSizesRegex = @"^Standard_((DS)|(GS))\d+$";

machineSizeMetadatas = machineSizeMetadatas.Where(metadata => Regex.IsMatch(metadata.Name, PremiumStorageRoleSizesRegex));
但是我不知道如何处理第一个序列(
Standard\u DS1\u v2


如何更改正则表达式?

您可以将此正则表达式与可选组一起使用:

^Standard_(DS|GS)\d+(?:_v\d+)?$
                    ^^^^^^^^^^
或更简单的
^标准\udG]S\d+(?:\u v\d+)$
,以避免组的交替。见

您可以在任何需要的地方添加捕获组

图案细节

  • ^
    -字符串的开头
  • Standard\uu
    -文本
    Standard\u
    子字符串
  • (DS | GS)
    -一个
    DS
    GS
    字符串(您可以将其替换为
    [DG]S
  • \d+
    -1个或多个数字
  • (?:_v\d+)
    -1或0(=可选)的
    +
    v
    +`1或更多数字序列
  • $
    -字符串结束