获取一些字符串正则表达式

时间:2018-06-08 13:52:26

标签: regex regex-negation regex-group

我有下面的字符串,我只想得到字符串的值:AttributeReferenceID。我需要做什么?

我尝试了[A]ttributeReferenceID (?<referenceID>\d+),但无法取得成功。我想要的字符串位于日志的任何部分,因此字符串可以位于第一行,第二行或最后一行。

要获取的字符串:

AttributeReferenceID    123
AttributeReferenceID    456
AttributeReferenceID    789

要丢弃的字符串:

ISCCAttributeReferenceID    091281 [09123na0]
ISCCAttributeReferenceID    123012 [i1208221]
ISCCAttributeReferenceID    091221 [0oas9019]

1 个答案:

答案 0 :(得分:0)

如果你的正则表达式接受正面的lookbehinds,你可以使用以下

(?<=^AttributeReferenceID\s{4})(\d+)

<强> Demo

如果您正在搜索特定字符串,后跟4个空格,则正则表达式会在匹配前查看。如果空格的长度可能不同,那么您将不得不找到另一种解决方案。以下应该正常工作。

(?:^AttributeReferenceID\s+)(\d+)

<强> Demo

并选择第一组。