我需要使用正则表达式匹配以下行。
单行包含以下内容(示例):
2010/11/29 09:37:55 (2768)FMS:600 ERROR> Received SIGWARNING: nonstandard use of escape in a string literal
2010/11/29 09:37:55 (2768)FMS:600 ERROR> Received SIGNOTICE: exp: select * from follow_me_switch.call_from_entries where follow_me_group_id in ( select id from follow_me_switch.follow_me_groups where profile_id =105 and follow_me_switch.call_from_entries.call_from_number !~ \'^s*$\'
从这些行我需要匹配并删除日期和时间戳,直到ERROR> 我们如何使用有效的正则表达式来匹配它?
提前致谢。
答案 0 :(得分:2)
^2010\/11\/29 09:39:57 \(2786\)Db_Wrapper\.pm:1404 ERROR\>
但不知何故,我认为,你的意思不同......
编辑:此答案适用于之前编辑的早期问题。
答案 1 :(得分:1)
如果你的意思是db_wrapper中的每一行都有类似
的错误^\d{4}/\d{1,2}/\d{1,2} \d{2}:\d{2}:\d{2} \(\d+\)Db_Wrapper\.pm:\d+ ERROR>
或更容易,只是
^.*Db_Wrapper\.pm:\d+ ERROR>
答案 2 :(得分:1)
这是你想要的吗?
^.*?(?=ERROR)
并替换为空字符串
这将匹配所有内容,直到第一个ERROR
提前。
.*?
是一个只会尽可能少匹配的懒人匹配
(?=ERROR)
是一个积极的展望,可以检查字符串ERROR
是下一个
答案 3 :(得分:0)
另一个正则表达式:
^\d{4}/\d{2}/\d{2}\s\d{2}:\d{2}:\d{2}\s\(\d+\)Db_Wrapper\.pm:\d+\sERROR>