我整个上午都在gSkinner上试图改变这个正则表达式。它正确地只允许 15 个单词,但我如何进一步将输入限制为仅字母数字,并且没有有效单词的长度超过 25 个字符?
我理解 [a-z0-9],但大概使用单词边界似乎让我感到困惑,因为无论我做什么,我都会打破它。
^\W*(?:\w+\b\W*){1,15}$
它用于 javascript/php。
试试这个正则表达式:^((\w{1,25}))((\W\w{1,25}){1,14}|)
第一个单词前面不会有空格(\w{1,25}),这些东西检查这个。现在我想要一个空格后跟一个单词 (\W\w{1,25}),但我想要这个从 1 到 14 次 (\W\w{1,25}){1,14}。好的,但是如果输入只有 1 个单词,则模式的第二部分将不起作用,所以我可以没有空格,而不是后面跟着单词的空格,所以我添加了 |。((\W\w{1,25}){1,14}|)
编辑
如果您输入,该模式会出现故障-这些字符,因此我将其更新为:
^([^ ]{1,25})(([ ]{1,}([^ ]{1,25}|)){1,14}|)