gpt4 book ai didi

正则表达式检查一个字符是否与其他字符组合存在,但不单独存在

转载 作者:行者123 更新时间:2023-12-05 08:40:02 27 4
gpt4 key购买 nike

^\[[FfMmHhTt/]+\]

上面的 RegEx 将检测方括号内“m”、“f”、“h”、“t”或“/”的任意组合,大写或小写,就像它应该的那样。但是,我想修改它,以便不能在方括号中单独找到正斜杠字符。例如,[F/m][t/m/h][Hh] 仍应通过,但 [/][///] 不应该。[/t] 或 [h/m/] 等开头和结尾的斜杠也应该无法匹配。找不到任何描述此类事情的正则表达式教程。

最佳答案

您可以将模式表述为:

^\[[FfMmHhTt](?:/?[FfMmHhTt])*\]$

解释如下:

^                  from the start of the string
\[ match a literal opening square bracket
[FfMmHhTt] followed by [fmht], in any case
(?:/?[FfMmHhTt])* followed by an optional forward slash separator, and
another matching letter, together zero or more times
\] match a literal closing square bracket
$ end of the string

Demo

这里的想法是我们匹配一个首字母,因为匹配至少需要一个字母。然后,我们匹配后续字母,每个字母可能以正斜杠分隔符为前缀,也可能不以正斜杠分隔符为前缀。

关于正则表达式检查一个字符是否与其他字符组合存在,但不单独存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57292568/

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