【问题标题】:Regex selecting date delimiter正则表达式选择日期分隔符
【发布时间】:2017-11-30 15:37:21
【问题描述】:

如何使用正则表达式严格选择日期的分隔符?

我正在使用这个:(\W)(?=(dd|MM|yyyy))

我举这个例子:dd/MM/yyyy HH:mm:ss

但是当我在 dd 前面有任何空格时,例如我得到了那个,我该如何避免这个,换句话说,我如何在\W 中创建一个异常来不抓空格?

【问题讨论】:

  • 我不建议使用正则表达式解析日期。有很多棘手的情况,而且并不总是直截了当,请考虑使用 momentjs.com 处理日期。
  • 使用单词边界\b
  • @asosnovsky with moment 是否可以更改分隔符?
  • @AndréVinícius 您可以设置任何自定义格式momentjs.com/docs/#/displaying
  • @AndréVinícius 正如我在之前的评论中提到的,您可以使用单词边界\b 这样您最终会得到类似\bPATTERNHERE\b 的内容,其中PATTERHERE 是您的模式

标签: javascript regex date


【解决方案1】:

也许您可以过滤非空格 \S 而不是单词。当然,这意味着空格不能再用作分隔符。

(\S)(?=(dd|MM|yyyy))

这适用于您的示例,日期前有一个空格

 dd/MM/yyyy HH:mm:ss

【讨论】:

  • 能否检查"\S"前面是否有字符串?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多