用于验证前 n 个字符的正则表达式

标签 regex

有人可以帮我解决以下要求的正则表达式吗?

  • 输入内容应至少包含 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 和一个空格
  • )关闭非捕获组
  • $字符串结尾

Regex demo

关于用于验证前 n 个字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66534737/

相关文章:

python原始字符串转义字符

php - 在 PHP 中编译正则表达式

javascript - 用 : sign using regex 分隔 4 位数字

javascript - 正则表达式/其他方法在输入时读取用户电子邮件地址并分别隐藏/显示 div

python - 正则表达式-特定字符串与其中任意两位整数的匹配?

php - 需要一个复杂的正则表达式来拆分驼峰式大小写和数字

asp.net-mvc - 只允许从特定的电子邮件域注册

ruby - 正则表达式中的重复和字符类

regex - OWASP Zap 在代理中排除除给定 URL 之外的所有内容

python - 如何删除文件中两个重复 block 之一?