我需要一个正则表达式,可以用来检查字符串并在进行.NET中的RegEx.Split()时返回特定项。我一直在尝试自己完成这个任务,但似乎总是无法得到我需要的结果,而且结果也毫无意义。显然,我对编写正则表达式没有很好的掌握。
所以这就是字符串...
我希望能够返回一个如下所示的数组:
以下代码接近正确,但还不够完整。
我得到以下内容:
我尝试了这个:
但是,它返回了两个带有空字符串的索引,除了我想要的分割项之外,如下所示:
我对如何格式化表达式以获得所需结果感到困惑。任何帮助都将不胜感激。
所以这就是字符串...
"%date - %-5level - [%thread] - %logger - %message - %exception%newline"
我希望能够返回一个如下所示的数组:
"date"
"-5level"
"thread"
"logger"
"message"
"exception"
"newline"
以下代码接近正确,但还不够完整。
Regex exp = new Regex(@"\W+");
string[] s = exp.Split(@"%date - %-5level - [%thread] - %logger - %message - %exception%newline");
我得到以下内容:
""
"date"
"5level"
"thread"
"logger"
"message"
"exception"
"newline"
由于某些原因,我在第一个索引处有一个空字符串,并且第三个索引缺少“-”。 我猜测这是因为它不是一个“单词”的一部分。
暂时忽略“-”,我想将“5level”拆分成一个数组:
"5"
"level"
我尝试了这个:
Regex exp2 = new Regex(@"(\d+)([a-zA-Z]+)");
string[] s2 = exp2.Split("5level");
但是,它返回了两个带有空字符串的索引,除了我想要的分割项之外,如下所示:
""
"5"
"level"
""
我对如何格式化表达式以获得所需结果感到困惑。任何帮助都将不胜感激。