我有一个.txt文件,看起来像:
2017-06-22 23:19:05,758 use database stocks
2017-06-22 23:21:27,056 CREATE TABLE stocksdata ( stock_exchange string,
stock_symbol string, date TIMESTAMP,
我写的正则表达式是 ^(\\d{4}-\\d{2}-\\d{2})\\s+(\\d{2}:\\d{2}:\\d{2}),(\\d{3})\\s((?i)(create|select|use).*)$
.
但我的输出是
2017-06-22 23:19:05,758 use database stocks
2017-06-22 23:21:27,056 CREATE TABLE stocksdata ( stock_exchange string,
它不是在下一行输入即股票符号字符串,日期时间戳,行,。我也要抓住这条线。
2条答案
按热度按时间umuewwlo1#
尝试使用以下模式:
我换了新的
.*
最后是[\s\S]*
,因为后者消耗新行。tzdcorbm2#
最后,这个表达式终于成立了
(\d{4}-\d{2}-\d{2})\s+(\d{2}:\d{2}:\d{2}),(\d{3})\s(\w{4})\s(.)(()(创建\s |选择\s |使用\s)。(.\s\s?\d.\s\d)*)
感谢您的回复