标题几乎解释了这一点,当我不想匹配时,我会继续匹配 ga.src,否则这是一个很好的解决方案。有人可以告诉我出了什么问题吗?
不工作
~(?!.)\b(?:href|src)\s*=\s*(["\']?+)\K(?:/(?!/)|(?=[\s>]|\1))~i
可以工作,但与 .src .href 匹配
~\b(?:href|src)\s*=\s*(["\']?+)\K(?:/(?!/)|(?=[\s>]|\1))~i
最佳答案
(?!.)
是一个否定的前瞻,它检查前面是否没有字符(换行符除外),这是没有意义的。你想要一个lookbehind并且点应该被转义(?<!\.)
.
阅读 www.regular-expressions.info 上的环视
关于php - 如果 href 或 src 前面有一个点,则正则表达式需要不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20642699/