php - preg 在小于号处替换停止
问题描述
我绝对不是正则表达式方面的专家,但是这个看起来很简单,但它只是不想做我认为它应该做的事情。
我有一堆 HTML 和纯文本文档。在文档中,有时会引用驱动器“f:”。我需要检测这些并将它们转换为 IP 地址。
我用这个正则表达式在preg_replace
/f:\\((.+))(?:$|\n|<)/i
从 f:\ 开始并在字符串或换行符或小于号的末尾停止。它似乎应该处理字符串结尾和换行符,但它只是完全忽略了小于号,因此在选择中包含了 HTML 标记。
我尝试过转义小于号,也尝试过其他方法,例如/f:\\((.+))([$\n<]/i
,但结果是一样的。
我错过了什么?
解决方案
推荐阅读
- mysql - MySql 表列自动添加现有列
- javascript - Angular svg 作为显示为文本的组件的模板
- powershell - [Class]::New() 导致控制台出现空行
- python - 使用 OpenCV 从背景中裁剪图像(条带提取)
- computer-vision - 读取 mjsynth 数据集图像的问题
- delphi - Delphi 5 仅对整个单词使用 Pos / PosIgnoreCase
- linear-programming - 如何在 C++ 中使用 conshdlr 获取已添加到 SCIP 的切割数量和实际切割
- python-3.x - 如何在列中计算连续 1 并获得每组的最大计数
- azure - ApplicationInsights 不考虑 json 配置的日志级别
- json - 世界银行 COVID-19 API(不完整的 JSON)