Я пытаюсь сопоставить определенные значения в файле, используя плагин «хвост» для collectd. В другом посте я видел, что плагин поддерживает только синтаксис POSIX ERE. Пример файла ниже:
[18/Jul/2018:23:54:26.388 +0000] SEARCH RESULT instanceName="asdf" threadID=10 conn=1 op=123 msgID=124 requesterIP="asdf" requesterDN="cn=Directory Manager,cn=Root DNs,cn=config" base="cn=System Information,cn=monitor" scope=0 filter="(objectClass=*)" attrs="instanceRoot" resultCode=0 resultCodeName="Success" qtime=1 etime=0.494 preAuthZUsedPrivileges="bypass-acl" entriesReturned=1
[18/Jul/2018:23:54:26.391 +0000] SEARCH RESULT instanceName="asdf" threadID=8 conn=1 op=124 msgID=125 requesterIP="asdf" requesterDN="cn=Directory Manager,cn=Root DNs,cn=config" base="cn=Servers,cn=admin data" scope=0 filter="(objectClass=*)" attrs="1.1" resultCode=32 resultCodeName="No Such Entry" message="Entry cn=Servers,cn=admin data specified as the search base DN does not exist" matchedDN="cn=admin data" qtime=0 etime=0.059 entriesReturned=0
Я хотел бы найти номер etime для каждой операции ПОИСК. Регулярное выражение, которое я придумал, похоже, работает с онлайн-движком регулярных выражений, но, похоже, не работает с плагином и не компилируется:
/(?<=\bSEARCH.*etime=)[+-]?([0-9]*[.])?[0-9]+/g
Compiling the regular expression "(?<=\bSEARCH.*etime=)[+-]?([0-9]*[.])?[0-9]+" failed.
Что мне здесь не хватает?