【发布时间】:2018-01-01 19:42:24
【问题描述】:
我必须为特定字符串实施以下规则。
字段应被填充并应包含最多 52 个字母数字字符。允许使用四个特殊字符“:”、“.”、“-”、“_”。特殊字符不允许出现在开头或结尾。
我尝试使用模式 [0-9A-Za-z:.-_] 来包含字母数字和 4 个特殊字符,但我不确定如何确保它们不会出现在字符串的开头或结尾。例如“Hello:123Howareyou”是有效的,但“:hello58475howareu”是无效的。
此模式无法帮助 [0-9A-Za-z:.-] 包含字母数字和特殊字符,并且 (^(:.-)) 字符串的开头不应以这些开头特殊字符和 ((:.-_)$) 字符串结尾不应以这些特殊字符结尾。如何处理“开头或结尾不允许特殊字符”。这部分。
谢谢 帕什
【问题讨论】:
-
这适用于所有但不是特殊字符。例如 Pattern pattern = Pattern.compile("^[0-9A-Za-z]+[0-9A-Za-z:.-_]*[0-9A-Za-z]+$");这为“hello-howareu”返回 false,但为“hello_howareu”返回 true
标签: regex