编写首尾无空格的字母数字空格正则表达式(长度3-50)
正则表达式解决方案
针对你需要的规则——允许字母、数字、单词间的空格,长度3-50,首尾无空格,这里给出对应的正则表达式:
^(?=.{3,50}$)[A-Za-z0-9]+(?:\s[A-Za-z0-9]+)*$
正则逻辑拆解
^:锚定字符串开头,确保不会匹配开头的空格(?=.{3,50}$):正向预检查,强制整个字符串的长度在3到50个字符之间[A-Za-z0-9]+:匹配至少一个字母或数字,保证开头是有效字符而非空格(?:\s[A-Za-z0-9]+)*:匹配零个或多个「空格+至少一个字母/数字」的组合——既允许单词间的空格,又避免了连续空格或结尾空格的情况$:锚定字符串结尾,确保不会匹配结尾的空格
有效字符串示例
HelloWorld123My Test String 456A1 B2 C3 D4StackOverflowRocks
无效字符串示例
StartWithSpace(开头包含空格)EndWithSpace(结尾包含尾随空格,就是你提到的最后一类无效情况)Ab(长度仅2,不符合3-50的要求)ThisIsAnExtremelyLongStringThatWillEasilyExceedTheFiftyCharacterLimitWeSet(长度超过50)Hello!World(包含非字母/数字的特殊字符!)
如果你需要调整规则(比如允许连续空格、增加其他可允许字符等),随时告诉我就行~
内容的提问来源于stack exchange,提问作者Umair Khalid
相关产品推荐
相关产品推荐

