【发布时间】:2014-03-17 01:00:10
【问题描述】:
给定下面的一组输入字符串:
- 一、二、三
- 一、二、三、四
- 一二三四五
(...等 N + 1 个案例)
如何构造一个正则表达式,它可以识别任意数量的名词的此类短语,并将每个逗号分隔的名词和 and 连词后面的最后一个名词作为单独的捕获组返回?如果不可能,您将使用什么方法来解析和捕获此类输入?我正在使用 C# Regex 对象进行解析。
注意,这里的名词只是样本数据(一、二、三、四、五等),逗号后面的空格可以省略。此外,名词可能是由空格分隔的多词短语
奖励回合:如果您还可以清楚地识别(例如)“一”和“一和二”的非逗号分隔的情况,并在同一表达式中捕获。
【问题讨论】:
-
一定要用RegEx吗?我相信这可以通过
string.Split()轻松完成。 -
是的。拆分并修剪每个条目。