首页 > 解决方案 > preg 在小于号处替换停止

问题描述

我绝对不是正则表达式方面的专家,但是这个看起来很简单,但它只是不想做我认为它应该做的事情。

我有一堆 HTML 和纯文本文档。在文档中,有时会引用驱动器“f:”。我需要检测这些并将它们转换为 IP 地址。

我用这个正则表达式在preg_replace

/f:\\((.+))(?:$|\n|<)/i

从 f:\ 开始并在字符串或换行符或小于号的末尾停止。它似乎应该处理字符串结尾和换行符,但它只是完全忽略了小于号,因此在选择中包含了 HTML 标记。

我尝试过转义小于号,也尝试过其他方法,例如/f:\\((.+))([$\n<]/i,但结果是一样的。

我错过了什么?

标签: phppreg-replace

解决方案


推荐阅读