Watch Words 将识别引号中的单词

大家好。我在使用监视词自动标记包含特定词语的帖子时,发现它会标记引用中包含特定词语的帖子。我尝试使用正则表达式来避免这种情况。但你们有什么更好的主意吗?
就像

[quote="好?, post:35, topic:197290, username:思源xi路"]
回购率蹭蹭上去。
[/quote]

当我检测到“xi”时,它会识别“思源xi路”。这让我们的团队很困扰。
这是我使用的正则表达式:

(?<![a-zA-Z0-9])xi(?![a-zA-Z0-9路])

我们能否创建一个正则表达式来避免标记引用中的帖子?谢谢!

更重要的是,我希望正则表达式能够识别引用的内容,而不是名称或用户名。
:wink:

我尝试了很多方法来解决这个问题,但 ChatGPT 似乎无法帮助我。这与 Ruby 正则表达式有关吗?

你想让人们通过在引用中放入他们想要的任何不当词语来避免你的标记吗?

[quote]
我认为正则表达式很可能受限于行,所以你无法使用正则表达式来判断一行是否在引用中。我可能是错的。

编辑:我误解了。

你只是想避免标记 [quote ... ] 标签内的内容,而不是标签本身。

这似乎是一个合法的特性请求。

2 个赞

我不这么认为:

所以基本上,我理解为它应该/不应该忽略的内容是:

[quote="ignore this part, post:xyz, topic:abc, username:ignoreThisToo"]
Don't ignore this
[/quote]
Definitely don't ignore this
3 个赞

谢谢。这正是我想要表达的意思。
我只是不知道如何编写正则表达式来控制它。

我认为 Jay Pfaffman 是对的,这是不可能的:


我尝试过,尽管有有效的正则表达式,但我无法实现你想要的结果,所以这里似乎存在一个限制。

2 个赞