gpt4 book ai didi

JavaScript RegEX 显式字符只匹配一次

转载 作者:行者123 更新时间:2023-11-30 09:30:09 25 4
gpt4 key购买 nike

我需要一个具有以下约束的正则表达式:

  1. 仅包含 [A-Z0-9.*] 个字符

  2. 长度为1到15个字符

  3. 必须包含一个 * 但只能包含一次。

因此,有以下断言:

  • ABC.123 无效(无星号)
  • ABC.123* 有效(末尾加星号)
  • *ABC.123 有效(星号开头)
  • ABC.*123 有效(中间的星号)
  • *ABC.123* 无效(超过一颗星)

我的目标是只有一个表达式。我显然可以有一个表达式断言前两个约束:[A-Z0-9.*]{1,15} 然后是第二个表达式来断言第三个约束 \*{ 1}

是否有可能有一个表达式从本质上验证字符串输入的整体结构,然后倒带并用另一个表达式重新评估字符串?

最佳答案

使用前瞻,您可以使用此正则表达式:

^(?=.{1,15}$)[A-Z0-9.]*\*[A-Z0-9.]*$

RegEx Demo

正则表达式分解:

  • ^:开始
  • (?=.{1,15}$):断言我们在输入中有 1 到 15 个字符的正面前瞻
  • [A-Z0-9.]*:匹配零个或多个[A-Z0-9.]字符
  • \*:逐字匹配星号
  • [A-Z0-9.]*:匹配零个或多个[A-Z0-9.]字符
  • $:结束

关于JavaScript RegEX 显式字符只匹配一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46773998/

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