当前位置: 首页 > 知识库问答 >
问题:

添加正则表达式最小值

郎言
2023-03-14

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

^(\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

有什么更正或建议吗?

共有2个答案

金飞翼
2023-03-14

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

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

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

例如,带有匹配项的正则表达式演示和不带匹配项的正则表达式演示。

狄钧
2023-03-14

试试这个正则表达式

^([\w\s]{3,10})(?!\n)$
 类似资料:
  • 如何解析和添加两个值?我使用这种模式: 包括间距,我需要得到“13” 使用正则表达式是可能的,还是有其他方法可以轻松实现这一点? 提前感谢你的帮助。

  • 我不确定这是否可以使用正则表达式。我会尝试使用正则表达式,但如果不可能,我会切换到双重验证。 我的数据库(postgresql)接受为15,6(最多15位,最多6位小数),因此如果我有10位整数,我可以有5位小数。小数分隔符被忽略。 我目前有一个正则表达式(逗号是小数分隔符): 它不验证总长度,只验证左侧的数字。但由于用户也可以键入点(千位分隔符),我有一个怪物:

  • 这是应该符合以下条件的正则表达式 应仅以字母和数字开头,包含字母和数字,点和连字符不应以连字符结尾 它适用于所有条件,但当我尝试使用三个字符时,如 在四个字符验证正常工作后,我是否遗漏了什么

  • 昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?

  • 在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 ngx.re.* 的规范,即使您对 Lua 语言中的规范非常熟悉,我们仍不建议使用 Lua 中的正则表达式。一是因为 Lua 中正则表达式的性能并不如 ngx.re.* 中的正则表达式优秀;二是 Lua 中的正则表达式并不符合 POSIX 规范,而 ngx.re.* 中实现的是标准的 POSIX 规范,后者明显更具备通用

  • 一、概述 二、匹配单个字符 三、匹配一组字符 四、使用元字符 五、重复匹配 六、位置匹配 七、使用子表达式 八、回溯引用 九、前后查找 十、嵌入条件 参考资料 一、概述 正则表达式用于文本内容的查找和替换。 正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。 正则表达式在线工具 二、匹配单个字符 . 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符; . 是元字