【发布时间】:2020-07-02 21:51:40
【问题描述】:
我试图弄清楚如何通过 preg_match 匹配以下值:
^[\S].*[\S]{3,10}$
不幸的是,最小尺寸为 4,最大尺寸 10 被完全忽略,因为该图案仍然在 11 长上切割。
- 不允许前导和尾随空格
- 允许包含任何字符
- 字符内允许空格
- 强制最小值为 3,最大值为 10(不起作用)
可用于的测试集:https://www.phpliveregex.com
[
[
"Test",
true
],
[
"Test Test",
true
],
[
"Test-Test",
true
],
[
"Test'Test",
true
],
[
"Test,Test",
true
],
[
null,
false
],
[
" ",
false
],
[
" Test ",
false
],
[
"12",
false
],
[
"12345678901",
false
]
]
感谢您在高级方面的帮助
【问题讨论】:
-
如果您的问题以一个问题的陈述开始而不参考您的正则表达式,然后是一个或多个示例,显示每个示例所需的结果,然后呈现代码,这将对读者有所帮助您已经尝试并解释了为什么它是错误的(不仅在这里,而且对于一般的 SO 问题)。
-
使用
^(?=.{4,10}$)\S.*\S$。演示:regex101.com/r/LfbLWa/1
标签: php regex preg-match