我很难找到带有空格的字符串的正则表达式(它可以使用每个字母和数字)。它的长度应为 5 到 25 个字符。
帮助!
以下正则表达式将匹配 5 到 25 个字符(含)之间的任何字符串,仅包含数字、字母(大写和小写)和空格字符(ascii 0x20):
[a-zA-Z0-9\x20]{5,25}
替换\x20
为\s
以包含其他“空白”,例如制表符和换行符。
编辑:
@MikeM 是正确的;除非这是锚定的,否则它将贪婪地匹配目标中 5-25 字符字符串的每个实例(即,例如,包含允许字母的有效 25 字符字符串的 30 字符字符串仍将返回该 25 字符子字符串的匹配项),显然不是OP想要的。
因此,应该更新上面的正则表达式,以确保它只返回一个匹配项,并且仅当整个目标的长度在 5 到 25 个字符之间时,如下所示:
^[a-zA-Z0-9\x20]{5,25}$
我想这就是你想要的
^(?=(\s*[a-zA-Z\d]){5,25}$).*$
这将匹配 5 到 25 个数字或字母,它们之间有任意数量的空格