gpt4 book ai didi

python - 与模式匹配且不包含某些单词的字符串

转载 作者:行者123 更新时间:2023-12-01 03:54:39 25 4
gpt4 key购买 nike

我正在寻找一个正则表达式,它可以匹配具有特定模式的单词(见下文),但不包含三个特定单词之一

模式是

[a-zA-Z0-9_~+-]{1,64}

我不想包含在整个单词中的单词是“TEST”、“SPECIFIC1”和“SPECIFIC2”

到目前为止,我发现一个正则表达式与这些单词不匹配:

((?!(TEST|SPECIFIC1|SPECIFIC2)).)* 

但我找不到如何组合这两个正则表达式。

例如:

TEST            won't match
TES$ won't match
SPECIFIC1 won't match
NON-SPECIFIC2 won't match
SPECIFIC2 won't match
MATCHES will match
test will match

有人有想法吗?

最佳答案

如果用 ^$ 包围表达式,则可以将否定前瞻与字符类放在一起来完成此操作。

^((?!(TEST|SPECIFIC1|SPECIFIC2))[a-zA-Z0-9_~+-]){1,64}$

Here's一个示范。请注意,这使用了全局和多行标志,因此我可以每行一个匹配项以用于演示目的。

如果没有 ^$,只需移动模式即可避免匹配禁止的字符串。

关于python - 与模式匹配且不包含某些单词的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37673681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com