You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写正则表达式匹配不含form.的所有行?

正则表达式匹配不包含"form."的行

你之前写的^.*(?!form\.).*$之所以会匹配所有行,是因为.*会先匹配整行内容,此时(?!form\.)的检查位置已经到了行尾,自然不会找到"form.",所以这个预查条件总是成立。

正确的写法是把负向预查放在行首,用来提前检查整行是否不存在"form.",正则表达式如下:

^(?!.*form\.).*$

逻辑解释:

  • ^:匹配行的起始位置
  • (?!.*form\.):负向预查,确保从当前位置(行首)开始,无论中间有多少任意字符(.*),都不会出现"form."这个子串
  • .*:匹配符合条件的整行内容

用你提供的文本测试,这个正则会匹配以下行:

</div>
form-group
      <label for="url">URL</label>
    </div>

而包含form.id、form.url的行会被排除在外。

如果你的正则环境支持多行模式(比如VS Code、Python的re.M flag等),直接使用这个表达式就能生效。

内容的提问来源于stack exchange,提问作者user19714507

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 04:45:58