gpt4 book ai didi

regex - 如果单个字符不止一个则不匹配

转载 作者:行者123 更新时间:2023-12-01 09:03:35 24 4
gpt4 key购买 nike

我需要创建一个正则表达式来验证任何不带点的文本或任何以 .gt 结尾的文本或 .lt .超过一个点的任何文本也应该是无效的。

anytext // valid
anytext.gt // valid
anytext.lt // valid
anytext.xx // invalid
anytext.xx.gt // invalid

我创建了这个:^.*(\.(gt|lt)|(?<!\..*))$

它工作得很好,除了它接受超过 1 个点,所以类似于 foo.bar.gt。正在验证,不应该。

最佳答案

您可以匹配一个或多个单词字符 \w+ 或在字符类中指定您要匹配的字符并以可选的点结尾,后跟 gt 或 lt:

^\w+(?:\.[gl]t)?$

解释

  • ^ 在行首声明位置
  • \w+ 一个或多个 word characters
  • (?: 非捕获组
    • \.[gl]t 匹配一个点和 gl 后跟 t<
  • )? 关闭非捕获组并使其可选
  • $ 在行尾断言位置

关于regex - 如果单个字符不止一个则不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49822617/

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