gpt4 book ai didi

regex - 无法构建正则表达式

转载 作者:行者123 更新时间:2023-12-02 01:23:38 27 4
gpt4 key购买 nike

我正在尝试构建具有以下规则的正则表达式:

  • 必须以字符或星号开头
  • 一个字符后面可以跟更多字符、句号或等号
  • 句号后必须跟更多字符或星号
  • 星号后必须跟等号

合法的情况是:

  • *=文字
  • word=文本
  • word.word.word...word=text(即.word可以有很多重复)
  • word.*=test

如果这需要更多说明,请告诉我,解释起来有点困难。

我目前的正则表达式是这样的:

(\w+\.)*(\*|\w+)\=\w+

它正确验证了给定的示例,但是它匹配应该无效的“.*=INFO”。任何人都知道我怎样才能让它不匹配这个字符串?

最佳答案

^(\*|\w+(\.\w+)*(\.\*)?)\=\w+$

这会分别处理以星号开头的情况和以字符开头的情况,因为我无法将它们组合起来。

^          begin
(
\* asterisk
| or
\w+ first word
(\.\w+)* optionally more words, separated by dot
(\.\*)? optional dot + asterisk
)
\= equals
\w+
$ end

关于regex - 无法构建正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38472235/

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