使用正则表达式仅提取两个特定标记之间的数字

时间:2018-03-01 15:49:08

标签: regex tags

请有人帮我构建这个正则表达式。

我有以下字符串:

<Guid>Abc1234</Guid>

我只需从中提取数字。 到目前为止,我设法得到了全文:Abc1234 with

(?<=<Guid>)(.*?)(?=<\/Guid>)

但是我需要一个正则表达式才能只提取数字:1234。

谢谢。

1 个答案:

答案 0 :(得分:1)

由于您在标记内的字符串末尾指定了数字始终(在您的问题下方的评论中),因此您无需确保开头标记在那里。只需在结束标记之前匹配:您没有验证,而是提取。

See regex in use here

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

如果必须确保开始,那么您可以改用<Guid>.*?\K\d+(?=<\/Guid>)\K重置报告的匹配的起点。