去正则表达式匹配所有不以时间戳开头的行

时间:2017-05-01 17:58:00

标签: regex go regex-negation

有人可以解释一下正确的Java正则表达式是什么来匹配所有不以时间戳[0-9]{4}-[0-9]{2}-[0-9]{2}开头的行吗?

我正在尝试使用^(^[0-9]{4}-[0-9]{2}-[0-9]{2}),但它无法正常工作。

1 个答案:

答案 0 :(得分:1)

您的^(^[0-9]{4}-[0-9]{2}-[0-9]{2})模式匹配以您定义的模式开头的字符串(此处的^只匹配字符串的开头)。

在Go lang中,正则表达式引擎不支持外观,因此很难创建可执行所需作业的可读正则表达式。

我建议你删除所有与你的模式匹配的行

(?m)\s*^[0-9]{4}-[0-9]{2}-[0-9]{2}.*

see demo)然后用换行符拆分结果以获得与模式不匹配的行。