正则表达式代码只允许单个 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。
我有这个正则表达式 (^[a-z]\s{1})+
。它应该只匹配由单个 space 分隔的字母,但即使使用此输入它仍然 returns 为真:
"a a a"
我希望它拒绝具有两个连续 space 的表达式。 你能帮帮我吗?
这是修复此问题的正则表达式:^\s*([a-z]\s|[a-z]$)+\s*$
解释:
- 它匹配字符串直到结尾 (
$
) 所以它会丢弃你的示例行 - 匹配字符串以字母结尾的大小写 -
[a-z]$
- 它忽略前导和尾随空格:
\s*
开头和结尾
你可以玩这个here。