【发布时间】:2015-10-04 17:53:50
【问题描述】:
使用 PRCE 正则表达式,我想捕获不同 apache 博客的每个字段。这些日志的结构类似于这个例子:
aaa bbb "cc c" ddd "eee" fff
每个字段由空格分隔。但是字段也可能包含空格,在这种情况下,它们在字段的开头和结尾用引号括起来(“cc c”)。不包含空格的字段在字段的开头和结尾也有引号(“eee”)。
结果应该有每个字段的捕获组,因此对于应该是的示例: 第一组:aaa 组2:bb 第 3 组:“cc c” 第 4 组:ddd 第 5 组:“eee” 第六组:fff
我的问题是我想要一个万能的解决方案,例如带有量词 - 像这样: (?:((aa|bb|"cc"|dd)\s){1,})
但这里的量词总是在 aaa 处重复。
非常感谢整洁、有效的解决方案。
【问题讨论】:
-
是否可以使用解析器(在您的情况下是空格分隔的值)而不是正则表达式来解决问题?
标签: regex apache logging pcre capturing-group