regex - 正则表达式限制文本字符串中的空格数
问题描述
我正在尝试建立以下内容,但我无法做到。我需要在我的文本字符串中完全不允许空格或最多 2 个空格。以下是我的正则表达式:
/^([^\s]*\s[^\s]*){0,2}$/
上面的部分工作正常,即在我的文本中允许 1 到最多 2 个空格,但是当我的文本中根本没有空格时它会失败,尽管我已经定义了 0 到 2。
有什么帮助吗?
解决方案
如果您不想允许两个以上的连续空格,请使用否定的前瞻断言:
/^(?!.*[ ]{3,}).*$/
如果要限制总共两个或更少的空格,请使用:
/^\S*\s?\S*\s?\S*$/
推荐阅读
- powershell - 在通过管道之前对数据进行批处理
- r - 如何一次应用多个行名
- python - 训练图像准确率高,但测试准确率差
- reactjs - 使用受控输入组件反应 useState Hook 问题
- python - 正则表达式正前瞻仍包括结果中的表达式
- powershell - How to increase the value for items within foreach - Powershell (IIS)
- c# - Azure Functions as Docker Image:找不到文件
- google-api - googleapiclient 在尝试通过 Gmail 发送电子邮件时返回错误请求
- c++ - 为什么某些(例如:cout)需要指定命名空间名称,而其他(例如:find)则不需要
- css - CSS未按预期居中