我的Regex匹配单词,并且只能在两者之间留一个空格。以下是我的Regex
^([a-zA-Z\u4e00-\u9fa5]+ )*[a-zA-Z\u4e00-\u9fa5]+$
这工作正常,但我想限制包括空间在内的比赛,我该怎么办?例如:
{2,30}
这不起作用
^(([a-zA-Z\u4e00-\u9fa5]+ )*[a-zA-Z\u4e00-\u9fa5]+$){2,30}
最佳答案
您可以使用正向超前断言来检查长度:
^(?=.{2,30}$)([a-zA-Z\u4e00-\u9fa5]+ )*[a-zA-Z\u4e00-\u9fa5]+$
^^^^^^^^^^
在下面的演示中探索正则表达式。我删除了unicode字符,使事情变得更简单。
Demo