我正在尝试创建一个正则表达式,其中用户应该只输入一个或多个单词之间的空格,并且其长度必须有一个限制[1到32]。
例如,它应该接受以下行;
wordX[space]wordX[space][space][space]wordX
但它不应该接受:
[space]wordX
或wordX[space]
或仅[space]
wordX必须与此正则表达式兼容:
^(([0-9A-Za-z!"#$%'()*+,./:;=?@^_`{|}~\\\[\]-]))$
答案 0 :(得分:1)
试试这个:
^(?:\w+\s){0,31}\w+$
\w
表示:数字,字母,下划线
对于严格接受的字符:
^(?:[\w!"#$%'()*+,./:;=?@^_`{|}~\\\[\]]+\s){0,31}[\w!"#$%'()*+,./:;=?@^_`{|}~\\\[\]]+$
或者:
^(?:\S+\s){0,31}\S+$
\S
- 除空白之外的任何字符
<强>更新强>:
如果字长在1到32之间,请使用此正则表达式:
^(?:\w{1,31}\s)*\w{1,31}$
以同样的方式修改其他正则表达式。