我正在用 C# 为 Regex.Split 编写正则表达式。总体目标是解析一个我不知道分隔符但知道关键字的文件。不是关键字的每个其他词都是一个项目。我无法说明这些将如何定界。到目前为止,我正在使用:
String[] list = Regex.Split(line, @"\W+");
这很好用,除了一个小警告,其中一个项目是一个带连字符的词。有没有办法排除“-”字符被拾取?
请您参考如下方法:
使用否定的字符类。
String[] list = Regex.Split(line, @"[^-\w]+");
[^-\w]+ 匹配任何字符但不匹配单词 char 或连字符(一次或多次)的否定字符类。
或
String[] list = Regex.Split(line, @"(?:(?!-)\W)+");
