如何实现匹配首尾不含逗号、仅允许字母数字和中间含逗号的正则规则
满足要求的正则匹配规则
可用正则表达式
^[a-zA-Z0-9]+(?:,[a-zA-Z0-9]+)*$
规则逻辑说明
- 开头强制匹配至少1位字母(大小写兼容)或数字,从根源避免逗号出现在内容开头
- 结尾强制落在字母或数字上,完全规避逗号出现在内容结尾的情况
- 中间仅允许出现逗号作为特殊字符,且每个逗号后必须紧跟至少1位字母/数字,天然不会出现连续逗号的情况;如果需要支持连续逗号,可将正则调整为
^[a-zA-Z0-9]+(?:,+[a-zA-Z0-9]+)*$ - 全程除许可的逗号外,不会匹配任何字母、数字以外的特殊字符,符合内容限制要求
校验示例
匹配成功的合法内容
a1b2c3abc,123,def45123,abc
匹配失败的非法内容
,abc123:逗号开头abc123,:逗号结尾abc#123:包含未经许可的特殊字符#abc,,123:连续逗号(使用基础版正则时会拦截,调整后的连续逗号支持版可放行)
内容的提问来源于stack exchange,提问作者Meg Krish
相关产品推荐
相关产品推荐

