用于限制文本字符串中空格数的正则表达式
Regex to limit the number of spaces in a text string
我正在尝试建立以下但我做不到。我需要在我的文本字符串中完全不允许有空格或最多有 2 个空格。
以下是我的正则表达式:
/^([^\s]*\s[^\s]*){0,2}$/
上面的部分工作正常,即在我的文本中允许 1 到最多 2 个空格,但是,当我的文本中根本没有空格时它会失败,尽管我已经定义了 0 到 2。
有什么帮助吗?
如果您不想允许两个以上的连续空格,则使用否定先行断言:
/^(?!.*[ ]{3,}).*$/
如果您想限制总共有两个或更少的空格,请使用:
/^\S*\s?\S*\s?\S*$/
试试这个:
^([^\s]*[\s]?[^\s]*){0,2}$
[^\s]*
匹配 space 零次或一次。
我正在尝试建立以下但我做不到。我需要在我的文本字符串中完全不允许有空格或最多有 2 个空格。 以下是我的正则表达式:
/^([^\s]*\s[^\s]*){0,2}$/
上面的部分工作正常,即在我的文本中允许 1 到最多 2 个空格,但是,当我的文本中根本没有空格时它会失败,尽管我已经定义了 0 到 2。
有什么帮助吗?
如果您不想允许两个以上的连续空格,则使用否定先行断言:
/^(?!.*[ ]{3,}).*$/
如果您想限制总共有两个或更少的空格,请使用:
/^\S*\s?\S*\s?\S*$/
试试这个:
^([^\s]*[\s]?[^\s]*){0,2}$
[^\s]*
匹配 space 零次或一次。