【问题标题】:Help with a regular expression帮助使用正则表达式
【发布时间】:2010-11-25 07:30:09
【问题描述】:

我想写一个正则表达式来检查一行是否是:

  • 分隔(例如,用逗号)
  • 至少 n # 个分隔项(例如 10 个)

分隔列表中的项目不必是字母数字。有些会有特殊字符。此外,某些项目可能不存在,因此无法保证分隔符之间会有某些内容。

我是 regexp 的新手,所以如果您的答案涉及任何额外聪明/高级的内容,请解释

非常感谢

【问题讨论】:

  • 分隔符可以出现在分隔的项目内吗?如果是这样,以什么形式(在引号内,或转义)?例如。 1,"2,2",3\,3,4,5?
  • 嗯,没想到。如果你同时给,那就太棒了
  • 听起来你想要的是 CSV 解析器,而不是正则表达式。
  • 问题是,我得到了很多格式的数据。唯一的共同点是它的分隔符。有时它是常见的 CSV 格式,有时它是不同的。 CSV 解析器是要走的路,还是使用不同的正则表达式?
  • 您应该使用适合格式的解析器,基于正则表达式或其他。请参阅:策略模式

标签: php regex posix-ere


【解决方案1】:
/^[^,]*(?:,[^,]*){9,}$/

【讨论】:

  • 感谢 cmets 中的提示。算作一个答案,因为这将使大多数人受益
猜你喜欢
  • 2011-06-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多