这是我现在使用的模式:
string pattern = @"^(\s+|\d+|\w+|[^\d\s\w])+$";
Regex regex = new Regex(pattern);
if (regex.IsMatch(inputString))
{
Match match = regex.Match(inputString);
foreach (Capture capture in match.Groups[1].Captures)
{
if (!string.IsNullOrWhiteSpace(capture.Value))
tmpList.Add(capture.Value);
}
}
return tmpList.ToArray<string>();
通过这个,我检索一个字符串数组,每个单词的项目和每个标点字符的一个项目。
我现在想要实现的是将排队的标点符号分组只在一个项目中,即现在如果一个接一个地有三个点,我在我的数组中得到三个项目,每个项目包含一个点。最后,我想要一个带有三个圆点的项目(或任何其他标点符号)。
答案 0 :(得分:5)
试试这个正则表达式:
^(\s+|\d+|\w+|[^\d\s\w]+)+$
答案 1 :(得分:2)
尝试使用以下模式。我加了额外的+。如果您想要其他内容,请告诉我。希望它有所帮助。
string pattern = @"^(\s+|\d+|\w+|[^\d\s\w]+)+$";
对于inputString =&#34; abc; .. cbe; aaa ... kjaskjas&#34;我得到了这个结果:
abc
;..
cbe
;
aaa
...
kjaskjas