Skip to main content
 首页 » 编程设计

c#之C# Regex.Split() 中的正则表达式排除

2024年01月31日27zhwl

我正在用 C# 为 Regex.Split 编写正则表达式。总体目标是解析一个我不知道分隔符但知道关键字的文件。不是关键字的每个其他词都是一个项目。我无法说明这些将如何定界。到目前为止,我正在使用:

 String[] list = Regex.Split(line, @"\W+"); 

这很好用,除了一个小警告,其中一个项目是一个带连字符的词。有没有办法排除“-”字符被拾取?

请您参考如下方法:

使用否定的字符类。

String[] list = Regex.Split(line, @"[^-\w]+"); 

[^-\w]+ 匹配任何字符但不匹配单词 char 或连字符(一次或多次)的否定字符类。

或

String[] list = Regex.Split(line, @"(?:(?!-)\W)+");