php - 如果 href 或 src 前面有一个点,则正则表达式需要不匹配

标签 php regex

标题几乎解释了这一点,当我不想匹配时,我会继续匹配 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/

相关文章:

php - 在 PHP + mysql 和 HTML 表中需要一些不合逻辑的帮助

php - Ratchet - 我如何在点击时发送消息

c# - 解析没有 :Split 的日志字符串

regex - JMeter : Regex extracting from an array response

php - 用于查找 <a> 和 </a> 标记之间所有内容的正则表达式

php - 不要在表单提交时转义特殊字符

php - PHP Table 下的背景图——方法

r - 使用正则表达式修改特定列名

php - 如何在 CodeIgniter 中更改 URL?

c# - 不确定为什么 Regex.Replace() 在使用包含正则表达式模式(涉及捕获组)的字典时不起作用