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

Go regex to match all lines that don't start with timestamp

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

我正在尝试使用 ^(^[0-9]{4}-[0-9]{2}-[0-9]{2}) 但它不起作用。

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

在 Go 语言中,正则表达式引擎不支持环视,因此很难创建可读的正则表达式来完成所需的工作。

我建议您删除所有符合您的模式的行

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

(see demo),然后用换行符分割结果,得到与模式不匹配的行。