【发布时间】:2010-11-25 07:30:09
【问题描述】:
我想写一个正则表达式来检查一行是否是:
- 分隔(例如,用逗号)
- 有至少 n # 个分隔项(例如 10 个)
分隔列表中的项目不必是字母数字。有些会有特殊字符。此外,某些项目可能不存在,因此无法保证分隔符之间会有某些内容。
我是 regexp 的新手,所以如果您的答案涉及任何额外聪明/高级的内容,请解释
非常感谢
【问题讨论】:
-
分隔符可以出现在分隔的项目内吗?如果是这样,以什么形式(在引号内,或转义)?例如。
1,"2,2",3\,3,4,5? -
嗯,没想到。如果你同时给,那就太棒了
-
听起来你想要的是 CSV 解析器,而不是正则表达式。
-
问题是,我得到了很多格式的数据。唯一的共同点是它的分隔符。有时它是常见的 CSV 格式,有时它是不同的。 CSV 解析器是要走的路,还是使用不同的正则表达式?
-
您应该使用适合格式的解析器,基于正则表达式或其他。请参阅:策略模式