我在RegExp下面进行了搜索和尝试,但没有按我的要求工作。请提供PHP,它至少接受一个字母数字和可选下划线或连字符,但下划线或连字符不应在一行中重复两次。
/^([a-z0-9]+-)*[a-z0-9]+$/i示例格式
发布于 2022-02-03 18:31:22
您可以在忽略case模式中使用此正则表达式:
^[-_]?[a-z\d]+(?:[_-][a-z\d]+)*[-_]?$RegEx详细信息:
^:开始[-_]?:匹配可选的_或-[a-z\d]+:字母数字字符的匹配1+(?::启动一个非捕获组[_-]:匹配_或-[a-z\d]+:字母数字字符的匹配1+)*:结束非捕获组。重复此组0次或多次[-_]?:匹配可选的_或-$:结束否则,如果您想要更好的性能,那么使用这个拥有式量词正则表达式:
^[-_]?[a-z\d]++(?:[_-][a-z\d]+)*[-_]?+$发布于 2022-02-03 18:33:02
/^([-_]?[a-z0-9]+)+[-_]?$/i这有一个可选的连字符或下划线的重复序列,后面跟着字母数字,然后允许在结尾处有另一个可选的连字符或下划线。
https://stackoverflow.com/questions/70976422
复制相似问题