正则表达式代码只允许单个 space

Regex code only allows a single space

我有这个正则表达式 (^[a-z]\s{1})+。它应该只匹配由单个 space 分隔的字母,但即使使用此输入它仍然 returns 为真:

"a a    a"

我希望它拒绝具有两个连续 space 的表达式。 你能帮帮我吗?

这是修复此问题的正则表达式:^\s*([a-z]\s|[a-z]$)+\s*$

解释:

  • 它匹配字符串直到结尾 ($) 所以它会丢弃你的示例行
  • 匹配字符串以字母结尾的大小写 - [a-z]$
  • 它忽略前导和尾随空格:\s* 开头和结尾

你可以玩这个here