仅在不属于超链接的情况下匹配正则表达式

时间:2019-05-20 09:28:58

标签: regex hyperlink

仅当文本不是超链接的一部分时,我才需要RegEx来匹配文本。但可以是

标记

的一部分

例如

<p>
bla bla bla textToMatch blabla
</p>

将匹配textToMatch

但是

<a href="http://www.google.com" alt="textToMatch">bla textToMatch</a>

将被忽略

尝试过一些文章来解决这个问题,但是没有运气

1 个答案:

答案 0 :(得分:-1)

尝试以下正则表达式:

elif isinstance(obj,networkx.classes.reportviews.NodeView):
    return list(obj)

详细信息:

  • <[^\/a] *[^>]*>[^<]*(textToMatch) -<(字面意思)-标签的开头,
  • <-[^\/a](排除 anchor 标签)或a(排除任何结束标签)以外的其他内容
  • /-(空格和星号)-可选空格,
  • *-除[^>]*>(开始标签的内部)和>(关闭开始标签)之外的其他字符可能为空,
  • >-除[^<]*以外的其他字符(可能没有空的开始/结束标签),可能是空字符,
  • <-要作为捕获组匹配的文本。

这样,匹配的“先前的东西”将作为匹配的主体, 但是您实际要匹配的文本在捕获组1中。

“后面的内容”不能作为任何后面的内容包含在内,因为 向后看必须具有固定的长度。

有关工作示例,请参见https://regex101.com/r/MKf2y7/1