除标记中的所有短语-regexpr
我想创建一个正则表达式来标记除了除标记中的所有短语-regexpr,regex,preg-replace,preg-match,preg-match-all,Regex,Preg Replace,Preg Match,Preg Match All,我想创建一个正则表达式来标记除了A标记中的短语以外的所有短语。 我想用它来取代它的链接。 我可以用一个正则表达式来描述它吗? 这是我失败的尝试:要排除由标记包围的匹配项,请先匹配标记的零件,然后将其与\K一起丢弃。此匹配还应通过交替提供空字符串,以匹配不以标记开头的子字符串: (?:<a[^>]+>.*?<\/a>\K|)(^|\s|,|;|:|\.)(Test)($|\s|,|;|\.|\b) (?:这里有一个可行的黑客解决方案:(?:。确保丢弃空匹配:)@de
A
标记中的短语以外的所有短语。
我想用它来取代它的链接。
我可以用一个正则表达式来描述它吗?
这是我失败的尝试:要排除由标记包围的匹配项,请先匹配标记的零件,然后将其与
\K
一起丢弃。此匹配还应通过交替提供空字符串,以匹配不以标记开头的子字符串:
(?:<a[^>]+>.*?<\/a>\K|)(^|\s|,|;|:|\.)(Test)($|\s|,|;|\.|\b)
(?:这里有一个可行的黑客解决方案:(?:。确保丢弃空匹配:)@degant要除去空匹配,您可以使用跳过和失败技巧/谢谢@HamZa这是一个巧妙的技巧。我不明白为什么在*失败?@degant检查之前需要*跳过out@degant退房