首页 > 解决方案 > 在单词边界验证中将正则表达式最小和最大字符串限制添加到“\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

有什么更正或建议吗?

标签: regexvalidationnewlineminmaxexceed

解决方案


您可以使用单词字符开始匹配以匹配至少一个字符。

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

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

例如,一个带有 match的正则表达式演示和一个没有 match的正则表达式演示。


推荐阅读