C# 不识别字母C、F等的正则表达式

C# 不识别字母C、F等的正则表达式,c#,regex,C#,Regex,我怎样才能得到“F” 模式:(\d+)、(\d+)、0、(\d+)、0、(\d+)[\\r\\n]+(\w+) 字符串:133333,055555,0,16\\r\\nFE01 您可以使用 @"(\d+),(\d+),0,(\d+),0,(\d+)(?:\\[rn]|\s)+(\w+)" 它会匹配的 (\d+)-第1组:一个或多个数字 ,-逗号 (\d+)-第2组:一个或多个数字 ,0,-a,0,子字符串 (\d+)-第3组:一个或多个数字 ,0,-a,0,子字符串 (\d+)-第4组:一个

我怎样才能得到“F”

模式:
(\d+)、(\d+)、0、(\d+)、0、(\d+)[\\r\\n]+(\w+)

字符串:
133333,055555,0,16\\r\\nFE01

您可以使用

@"(\d+),(\d+),0,(\d+),0,(\d+)(?:\\[rn]|\s)+(\w+)"
它会匹配的

  • (\d+)
    -第1组:一个或多个数字
  • -逗号
  • (\d+)
    -第2组:一个或多个数字
  • ,0,
    -a
    ,0,
    子字符串
  • (\d+)
    -第3组:一个或多个数字
  • ,0,
    -a
    ,0,
    子字符串
  • (\d+)
    -第4组:一个或多个数字
  • (?:\\[rn]\s)+
    -1次或多次出现
    \r
    \n
    或空白
  • (\w+)
    -第5组:一个或多个单词字符

您没有正确匹配CR和LF符号,如果
\\r\\n
实际上是换行符,请使用
@”(\d+)、(\d+)、0、(\d+)、0、(\d+)\s+(\w+)
。如果不是,请使用
@“(\d+)、(\d+)、0、(\d+)、0、(\d+)\s*\\r\\n\s*(\w+)”
您使用的是单线模式还是多线模式?根据模式的不同,返回值有不同的含义。@jdweng在这种情况下,
RegexOptions。单线
RegexOptions。多线
不会影响匹配(模式中没有
^
$
)。w+位于单独的行上,因此模式将影响结果。@jdweng您所指的选项仅影响某些特定模式与字符串的匹配方式。这里,
[\\r\\n]+
与换行符不匹配,只与
\
r
n