gpt4 book ai didi

匹配大写单词字符串的正则表达式,由单个空格分隔,字符串长度 <= 20

转载 作者:行者123 更新时间:2023-12-02 22:30:56 26 4
gpt4 key购买 nike

好的,下面开始:目标是使正则表达式匹配“BLABLA BLA B BLAB”之类的字符串,例如:

^[A-Z](\s?[A-Z])*$

但主要问题是匹配字符串的长度可以是 1 到无穷大之间的任何值。那么是否可以制作一个与上面的行为完全相同的正则表达式,但仅在字符串长度小于或等于 20 个字符时才匹配? (不允许在字符串的开头和/或结尾处使用空格。)

我理解,在这种情况下,最好在正则表达式之外更改字符串长度(例如,在我的应用代码中,已经这样做了),但是我只是想知道我是否遗漏了一些简单的东西?

编辑:20 个字符是字符串的全长,包括单词之间可选的单个 空格。字长可以是 1 个字符或更多。因此,“AAAAABBBBBDDDDDEEEEE”(20 个大写字母)应该匹配,“AAAAABBBBB CCCCDDDDD”应该匹配(中间有 1 个空格),“AAAA BBBB CCCC DDDDD”应该匹配(中间有 3 个单个空格,字符串长度为 20),“AA B”应该匹配(中间有一个空格,总长度 < 20),“AAAAABBBBBBCCCCCDDDDDF”不应匹配(因为字符串长度为 21)等。

最佳答案

试试这个

^(?=.{1,20}$)[A-Z](\s?[A-Z])*$

关于匹配大写单词字符串的正则表达式,由单个空格分隔,字符串长度 <= 20,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12280704/

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