正则表达式需要在标签中搜索数字ID

时间:2019-06-21 11:49:48

标签: regex

我非常基本的正则表达式技能不允许我成功提取标签中的ID号。

我认为那将是相当简单的。我想从以下摘录中提取ID。

<id>53222132</id>

ID号不是特定长度,但是我只需要能够找到仅数字的ID号即可。

更具体地说,这是标签 id 的唯一实例,因此它是唯一的,应在正则表达式中使用。

最后有一种方法可以将其保存在变量中。

使用正则表达式作为splunk查询的一部分,在该查询中,我将使用该变量来使其与众不同。

到目前为止,我已经捕获了包括标签在内的所有内容。

<\s*id[^>]*>(.*?)<\s*\/\s*id>

预先感谢

1 个答案:

答案 0 :(得分:0)

(?<=<id>)\d+(?=<\/id>)

这是我的第一个想法。这将使用正向外观和正向外观,并且只会匹配中间的一串数字字符。另一种选择是:

\d+(?=<\/id>)

这将仅使用向前看,因为不完全支持后面的看。另一种选择:

\d+(?=\s*<\s*\/\s*id\s*>)

这将忽略该结束标记中可能存在的任何空格,并且无论如何仍会找到ID。其中一种应该适合您的情况。