我想使用Java正则表达式支持提取黑体中的文本。在Java中提取无条件超前文本
我能得到它的工作使用条件先行,用正则表达式是
(\d{2})(\d{1,2})(\d{1,2})\s+(\d{1,2}):(\d{1,2}):(\d{1,2})\s+(\S+)\s+(?(?=.*\d{4}-\d{1,2}-\d{1,2})([^\d{4}]*)|(.*))
然而,Java Pattern类不支持有条件的向前看符号。有没有办法重写正则表达式,以便它可以与Java模式类一起使用?与来自的/ var/lib中/ MySQL的 2016年2月3日3点24分25秒0 [警告]时间戳和隐含默认值数据库
160203三时24分24秒开始mysqld_safe的mysqld守护被弃用。请使用--explicit_defaults_for_timestamp服务器选项(详情请参阅文档).2016-02-03 03:24:25 0 [Note] /opt/devenv/mysql/mysql-5.6.27-linux-glibc2.5-x86_64/ bin/mysqld(mysqld 5.6.27)开始为进程29491 ... 2016-02-03 03:24:25 29491 [注] IPv6可用。
160203 21时33分17秒mysqld_safe的进程数正在运行:0
160203 21时33分17秒mysqld_safe的重新启动mysqld的 2016年2月3日21点33分18秒1125 [注]服务器主机名(bind-address):'*';端口:33062016-02-03 21:33:18 1125 [注] IPv6可用。
你应该澄清你的规则来提取文本。例如,它必须是行的开始或某事。 –
当然,应该提到这一点。我想拾取所有文本,直到第一次出现类似于2016-02-03的日期patttern,或者如果未找到该模式,则直到结束。 –