有人可以帮我解决以下要求的正则表达式吗?
- 输入内容应至少包含 1 个字符,最多可包含 79 个字符。
- 仅限字母和空格
([a-zA-Z ]{1,79})
- 如果长度超过
24
个字符,则应至少包含一个空格。
最佳答案
你可能会使用
^(?:[a-zA-Z]{1,24}|(?=.{1,79}$)[a-zA-Z]* [a-zA-Z ]*)$
模式匹配
-
^
字符串开头 -
(?:
非捕获组-
[a-zA-Z]{1,24}
匹配一个字符 a-zA-Z 1-24 次 -
|
或者 -
(?=.{1,79}$)
正向前瞻断言 1-79 个字符 -
[a-zA-Z]* [a-zA-Z ]*
匹配可选字符 a-zA-Z 后跟一个空格以及可选字符 a-zA-Z 和一个空格
-
-
)
关闭非捕获组 -
$
字符串结尾
关于用于验证前 n 个字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66534737/