gpt4 book ai didi

regex - 如何使用正则表达式查找不属于某种模式的东西

转载 作者:行者123 更新时间:2023-12-04 23:09:22 24 4
gpt4 key购买 nike

使用 Perl 风格的正则表达式,是否可以寻找不属于某种模式的东西?

例如,[^abc]寻找单个字符而不是 a也不是 b也不是 c .

但是我可以指定比单个字符更长的内容吗?
例如,在下面的字符串中,我想搜索第一个不是顶级域名且不包含大写字母的单词,或者可能是一些更复杂的规则,例如 3-10 个字符。在我的例子中,这应该是 "abcd" :

net com org edu ABCE abcdefghijklmnoparacbasd abcd

最佳答案

您可以使用否定前瞻断言来做到这一点:

^(?!(?:net|com|org|edu)$)(?!.*[A-Z])[a-z]{3,10}$

See it

解释:
^                   - Start anchor
$ - End anchor
(?:net|com|org|edu) - Alternation, matches net or com or org or edu
(?!regex) - Negative lookahead.
Matches only if the string does not match the regex.

所以部分 (?!(?:net|com|org|edu)$)确保输入不是顶级域之一。

零件 (?!.*[A-Z])确保输入没有大写字母。

零件 [a-z]{3,10}$确保输入的长度至少为 3,最多为 10。

关于regex - 如何使用正则表达式查找不属于某种模式的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4386856/

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