【发布时间】:2019-06-06 18:35:02
【问题描述】:
我正在尝试编写 RegEx 语句来定位特定单词之前的第一个日期。
我使用下面的正则表达式来显示特定单词之后的第一个日期。
字 +\K(?:([0-9]+)/([0-9]+)/([0-9]+)|((0?[1-9]|1[0-2]) -(0?[1-9]|[12]\d|3[01])-(\d{4}|\d{2}))|\w+\s\d{2},\s\ d{4}|(?i)\b(Jan(?:uary|.)?|Feb(?:ruary|.)?|Mar(?:ch|.)?|Apr(?:il|.) ?|五月|六月(?:e|.)?|七月(?:y|.)?|八月(?:ust|.)?|九月(?:tember|.)?|十月(?:ober| .)?|Nov(?:ember|.)?|Dec(?:ember|.)?)( ,?[ ]|-(?:0?[1-9]|[1-2][0-9]|3[01])-)(\d{4}))
这是我希望它返回的示例。
这里有很多词 01/07/2019 02/03/2019 02/08/2019 更多词在这里。在这种情况下,它应该返回日期 02/08/2019。如何更改上述语句以查找指定单词之前的日期?
我使用 Notepad ++ 测试这是否有助于确定我使用的 RegEx 类型。
额外问题:有时要匹配的单词可能会换行。正则表达式仍然可以匹配吗?例如,它的格式可能如下所示,其中“更多”一词位于新行:
Many words here
01/07/2019
02/03/2019
02/08/2019
More words here
【问题讨论】:
标签: regex