除标签外的所有短语 - regexpr

时间:2017-05-31 11:26:56

标签: regex preg-replace preg-match preg-match-all

我想创建一个标记所有短语的正则表达式,但A标记中的短语除外。 我想用它来用链接替换它。 我可以用一个正则表达式来掺杂吗? 这是我的失败审判:https://regex101.com/r/3I2qvL/1

1 个答案:

答案 0 :(得分:1)

要排除标记所包含的匹配项,请首先匹配标记的部分,然后使用\K将其丢弃。此匹配也应通过交替提供空字符串,以匹配不以标记开头的子字符串:

(?:<a[^>]+>.*?<\/a>\K|)(^|\s|,|;|:|\.)(Test)($|\s|,|;|\.|\b)

演示:https://regex101.com/r/pUPBQQ/1