Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式,选择第n个匹配项_Regex_Splunk - Fatal编程技术网

Regex 正则表达式,选择第n个匹配项

Regex 正则表达式,选择第n个匹配项,regex,splunk,Regex,Splunk,我有一个包含以下内容的文件: <Row> <Cell><Data ss:Type="String">INC000012486615</Data></Cell> <Cell><Data ss:Type="String">abcd-efg-hij4-en:ddcs</Data></Cell> <Cell><Data ss:Type="String">fs-hubraum

我有一个包含以下内容的文件:

<Row>
<Cell><Data ss:Type="String">INC000012486615</Data></Cell>
<Cell><Data ss:Type="String">abcd-efg-hij4-en:ddcs</Data></Cell>
<Cell><Data ss:Type="String">fs-hubraum-apps:kayw-de</Data></Cell>
<Cell><Data ss:Type="String">mn-def-seb01:sfyc-en</Data></Cell>
<Cell><Data ss:Type="String">00055s4dEN</Data></Cell>
<Cell><Data ss:Type="String"></Data></Cell>
<Cell><Data ss:Type="String">General Information</Data></Cell>
<Cell ss:StyleID="ce2"><Data  ss:Type="DateTime">2017-06-28T16:24:35</Data>
</Cell><Cell><Data ss:Type="String">Public</Data></Cell>
<Cell><Data ss:Type="String">Hi John,
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Thanks,
Snow</Data></Cell>  
</Row>

INC000012486615
abcd-efg-hij4-en:ddcs
fs hubraum应用程序:kayw de
mn-def-seb01:sfyc en
00055s4dEN
一般资料
2017-06-28 16:24:35
公开的
嗨,约翰,
知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。
谢谢
雪
我编写了一个选择有价值信息的正则表达式:
(?)((.|\n)*?)(?=)
:只选择
内部的数据。你可以在这上面测试

我希望能够使用正则表达式选择第n个匹配:(第一个匹配:
INC000012486615
,第二个匹配
abcd-efg-hij4-en:ddcs
,等等)

我没有成功修改我的正则表达式。有什么建议吗


附言:我必须使用正则表达式。用于Splunk字段提取。

如果此模式返回第三个数据值,请尝试:

<Row>(?:\s*(?:<\/Data>\s*<\/Cell>\s*)?<Cell[^<>]*>\s*<Data\b[^<>]+>\K([^<>]*)){3}
(?:\s*(?:\s*\s*)?\s*\K([^]*){3}

\K用于确保前面的模式不是匹配字符的一部分。

这是错误的方法。与其编写草率的正则表达式来捕获所有值,不如在props.conf中启用kv_模式

如果您的主机处于群集环境中,请转到群集主机并将props.conf编辑为
KV_MODE=xml


在非集群环境中,转到索引器并添加KV_模式属性

。使用解析器。我必须在Splunk字段提取器中使用正则表达式。此外,该文件不是结构良好的xml。所以我不能使用xml解析器。你说的“结构不好”是什么意思?你提供的例子似乎很好。我不熟悉
splunk
,但谷歌告诉我可以使用
spath
解析XML?我只放了一个数据片段来关注这个问题。数据源是一个包含XML的日志文件。它不是XML文件,因此无法导入或解析。