gpt4 book ai didi

正则表达式不计算字符串内的空格

转载 作者:行者123 更新时间:2023-12-03 23:33:21 25 4
gpt4 key购买 nike

  • 正则表达式应允许任意数量的前导和尾随空格,但单词之间只允许一个空格
  • 字符串长度应介于 1 到 32 个字符之间(不包括前导和尾随空格,但包括单词之间的空格)

到目前为止,我的正则表达式是这样做的,只是它不计算单词之间的空格

^[\s]*(?:[\w]{1}[\s]?){1,32}[\s]*$

最佳答案

看起来下面会起作用:

^\s*(?!.{32}\s?\w)\w+(?:\s\w+)*\s*$
  • ^ - 开始字符串 anchor 。
  • \s* - 0+ 个前导空格。
  • (?!.{32}\s?\w) - 负前瞻以防止 32 个字符后跟可选空格和单词字符。
  • \w+(?:\s\w+)* - 1+ 个单词字符后跟一个 0+-times 匹配空格和 1+ 个单词字符的非捕获组。
  • \s* - 0+ 个尾随空格。
  • $ - 结束字符串 anchor 。

在线查看demo

上面将强制模式至少有一个单词字符,但如果有(在前导空格之后)是 32 个字符的子模式,后跟一个可选的空格和一个单词字符,则会失败!

关于正则表达式不计算字符串内的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66457005/

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