我正在尝试构建regexp以在mmorpg游戏中查找有效名称。这是规则:
这是我到目前为止所得到的。
/([A-z0-9]{1}[A-z0-9]{3,23}[A-z0-9]{1})$/
问题是我无法在{3,23}部分中插入零或一个引号和零个或多个空格。有什么提示吗?
答案 0 :(得分:5)
您可以使用此正则表达式:
/^[A-Za-z0-9](?!([^']*'){2})[ A-Za-z0-9'.-]{2,22}[A-Za-z0-9]$/
btw [A-z]
与[A-Za-z]
不同,因为从A
到z
的范围将允许更多字符。
答案 1 :(得分:0)
我建议这个正则表达式
^(?=.{4,24}$)(?=[^']*'?[^']*$)(?![ ']|.*[ ']$)[A-Za-z0-9'. -]+$
(?=.{4,24}$)
用于字符限制
(?=[^']*'?[^']*$)
用于可选的一个撇号字符(注意"
比'
更多地称为引号字符。
(?![ ']|.*[ ']$)
可以防止开头和结尾的空格和撇号。
[A-Za-z0-9'. -]+$
允许使用字母数字,撇号(早期前瞻限制为1),破折号,点数和空格(任意数字)。'