在单词边界验证中将正则表达式的最小和最大字符串限制添加到“ \ n”

问题描述

如果输入的文本与我的模式不匹配:

^(\b[\n]\w*\s*)+$

如果在输入的文本中找到\ n字符,则该文本将不被验证,但是我想将最小和最大长度添加到整个字符串中。我希望如果文本与模式不匹配且字符串长度小于3且超过10则不被验证,我知道以下模式不正确,但至少我正在尝试像这样修改它:>

^(\b[\n]\w{3,10}\s*)+$

例如:

FrogFrog
FrogFrog <- it won't validated because has \n and exceed 10

Frog
Frog <- it won't validated because has \n

FrogFrogFrog <- it wont't validated because exceed than 10

FrogFrogFr <- it is valid because no \n character and not exceed than 10

有任何更正或建议吗?

解决方法

尝试此正则表达式:

^([\w\s]{3,10})(?!\n)$
,

您可以使用单词字符开始比赛,以至少与开头的字符匹配。

然后重复2-9次,使用字符类匹配单词字符,空格或制表符,并以\z结束模式以声明字符串的结尾。

^\w[\w \t]{2,9}\z

例如regex demo with matchregex demo with no match