我正在尝试使用正则表达式获得2个或更多3个单词。但是我很难只得到单词而不是整行。
下面是文字。
我使用的正则表达式是3255 2010-02-14 13:17:14 WARN HA在接下来的600秒内禁用警报。政策仍然执行
3256 2010-02-14 13:18:17 WARN UDM自适应滤波器配置禁用过滤器" 13379:HTTP:酷PDF图像流长度缓冲区溢出漏洞" [00000002-0002-0002-0002-000000013379]
\d{4}-\d{2}-\d{2}.*disabled filter.*$ -> this work but will get the whole line.
我正在尝试仅从文本
获取日期和禁用的过滤器离。 2016-02-14 13:18:17 filter" 13379:HTTP:很酷的PDF图像流长度缓冲区溢出漏洞"
我尝试使用管道,但它也会在不同的行上获得另一个日期
[0-9]{4}-[0-9]{2}-[0-9]{2}|disabled filter|"[0-9]{5}.+"
有人可以为此提供帮助吗?
答案 0 :(得分:0)
由于缺少语言,这里的解决方案很少。
的Python
match = re.search('(?<=disabled filter ")[^"]+', subject, re.IGNORECASE | re.MULTILINE)
if match:
result = match.group()
爪哇
Pattern regex = Pattern.compile("(?<=disabled filter \")[^\"]+", Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE | Pattern.MULTILINE);
Matcher regexMatcher = regex.matcher(subjectString);
if (regexMatcher.find()) {
ResultString = regexMatcher.group();
}
Notepad ++和Sublime Text
(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})(?:.*)(?<=disabled filter ")([^"]+)
组(1)将date
,组(2)包含filter