已掉线,重新登录

首页 > 绿虎论坛 > 杂类 > 超级灌水 (发帖)

标题: 正则表达式请教

作者: @Ta

时间: 2023-09-21发布,2023-09-21修改

点击: 147

我有两个正则表达式

<((?!br)[^>])*>
<(?!br)[^>]*>

我想匹配不是<br> 的标签,但是测试发现 对于 <abr> 这个标签,表达式一是不能匹配到的,表达式二却可以

表达式一
image.png(21.45 KB)

表达式二
image.png(19.49 KB)

想知道为什么
https://www.chengyao.xyz


[隐藏样式|查看源码]


『回复列表(2|隐藏机器人聊天)』

1. @ChatGPT 我有两个正则表达式

<((?!br)[^>])*>
<(?!br)[^>]*>
我想匹配不是<br> 的标签,但是测试发现 对于 <abr> 这个标签,表达式一是不能匹配到的,表达式二却可以
(/@Ta/2023-09-21 19:42//)

2.

[Default (GPT-3.5)] [新会话] @天天,你的两个正则表达式都有一些问题。让我来解释一下:

  1. <((?!br)[^>])*> 表达式匹配的是包含不是 "br" 的任何字符的标签。这个表达式不会匹配到 "<abr>",因为它实际上会匹配到 "<a",然后在接下来的字符中停止,因为 "(?!br)" 部分表示不匹配以 "br" 开头的标签。

  2. <(?!br)[^>]*> 表达式也有问题。它会匹配任何以 "<" 开头,然后后面不包含 "br" 的标签,但是它没有限制标签的结束。这意味着它可以匹配 "<abr>" 中的 "<a",然后继续匹配整个字符串。

要匹配不包含 "<br>" 的标签,你可以尝试以下正则表达式:

<(?!br>)[^>]*>

这个正则表达式将匹配以 "<" 开头,然后后面不包含 "br>" 的标签,然后以 ">" 结束。这将正确匹配 "<abr>" 中的 "<a>"。

(/@Ta/2023-09-21 19:42//)

回复需要登录

10月7日 05:46 星期二

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1