Can';t完成regexp
我正在尝试构建regexp,以便在mmorpg游戏中查找有效名称。规则如下:Can';t完成regexp,regex,Regex,我正在尝试构建regexp,以便在mmorpg游戏中查找有效名称。规则如下: 必须至少包含4个字符 不能超过24个字符 可能包含字符A-Z、A-Z、0-9和单引号。(公司名称也可以包括减号和点字符。) 名称中的第一个或最后一个字符不允许使用空格或单引号 这是我到目前为止得到的 /([A-z0-9]{1}[A-z0-9]{3,23}[A-z0-9]{1})$/ 问题是我不能在{3,23}部分中插入零个或一个引号以及零个或多个空格。任何提示?您可以使用此正则表达式: /^[A-Za-z0-9](?
/([A-z0-9]{1}[A-z0-9]{3,23}[A-z0-9]{1})$/
问题是我不能在{3,23}部分中插入零个或一个引号以及零个或多个空格。任何提示?您可以使用此正则表达式:
/^[A-Za-z0-9](?!([^']*'){2})[ A-Za-z0-9'.-]{2,22}[A-Za-z0-9]$/
顺便说一句,[A-z]
与[A-Za-z]
不同,因为从A
到z
的范围将允许更多字符
您可以使用此正则表达式:
/^[A-Za-z0-9](?!([^']*'){2})[ A-Za-z0-9'.-]{2,22}[A-Za-z0-9]$/
顺便说一句,[A-z]
与[A-Za-z]
不同,因为从A
到z
的范围将允许更多字符
我建议用这个正则表达式
^(?=.{4,24}$)(?=[^']*'?[^']*$)(?![ ']|.*[ ']$)[A-Za-z0-9'. -]+$
(?=.{4,24}$)
用于字符限制
(?=[^']*'?[^']*$)
用于可选的一个撇号字符(注意“
比”
更被称为引号字符)
(?![']|.[']$)
防止在开头和结尾使用空格和撇号
[A-Za-z0-9.-]+$
允许字母数字、撇号(先前的展望已经限制为1)、破折号、点和空格(任何数字)。我建议使用这个正则表达式
^(?=.{4,24}$)(?=[^']*'?[^']*$)(?![ ']|.*[ ']$)[A-Za-z0-9'. -]+$
(?=.{4,24}$)
用于字符限制
(?=[^']*'?[^']*$)
用于可选的一个撇号字符(注意“
比”
更被称为引号字符)
(?![']|.[']$)
防止在开头和结尾使用空格和撇号
[A-Za-z0-9'.-]+$
允许字母数字、撇号(先前的前瞻已将其限制为1)、破折号、点和空格(任意数字)。您现在可以使用条件语句来完成,哈哈哈!但愿我能帮忙,我对正则表达式的了解非常有限,尽管我发现它是一种非常有用的语言!“”如果希望程序运行更快、维护更方便,请将每一条规则作为单独的验证方法实现,并尽量避免使用正则表达式!使用单独规则的额外好处是,您可以准确地告诉用户他们选择的名称有什么问题。@如果我强烈反对,这正是正则表达式应该解决的问题。那么空格呢?他们可以接近字符限制吗?你现在可以用条件语句完成了哈哈哈!但愿我能帮忙,我对正则表达式的了解非常有限,尽管我发现它是一种非常有用的语言!“”如果希望程序运行更快、维护更方便,请将每一条规则作为单独的验证方法实现,并尽量避免使用正则表达式!使用单独规则的额外好处是,您可以准确地告诉用户他们选择的名称有什么问题。@如果我强烈反对,这正是正则表达式应该解决的问题。那么空格呢?“他们能接近角色极限吗?”阿努巴瓦很抱歉回答得太晚了。实际上,您的regexp不能捕获“零个或多个空格”。尝试添加多个,您将看到。P.S.订购的要求很模糊,是的。但我清楚地说,零个或一个引号和零个或多个空格。你在我的演示中看到第三个输入了吗?它是名称姓氏
,只允许一个空格。在同一个演示中,你会看到一个输入名称姓氏
,有两个空格,但不匹配。@anubhava抱歉,我似乎没有跟上你。我需要0-N个空格和0-1个单引号。您的regexp在阻止多个引号时不允许多个空格。设置名称“Jesus Mary Joseph”应该是合法的。好吧,我想你应该只允许1个空格。我刚刚编辑了它,现在允许N个空格。@anubhava很抱歉回答晚了。实际上,您的regexp不能捕获“零个或多个空格”。尝试添加多个,您将看到。P.S.订购的要求很模糊,是的。但我清楚地说,零个或一个引号和零个或多个空格。你在我的演示中看到第三个输入了吗?它是名称姓氏
,只允许一个空格。在同一个演示中,你会看到一个输入名称姓氏
,有两个空格,但不匹配。@anubhava抱歉,我似乎没有跟上你。我需要0-N个空格和0-1个单引号。您的regexp在阻止多个引号时不允许多个空格。设置名称“Jesus Mary Joseph”应该是合法的。好吧,我想你应该只允许1个空格。我刚刚编辑了它,现在允许N个空格。效果很好!谢谢,另外感谢您对此的解释。:)@roflomglol另一个答案在开始或结束时不接受dot,而我的答案符合要求,这很好!谢谢,另外感谢您对此的解释。:)@roflomglol另一个答案在开头或结尾不接受dot,而我的答案按要求接受dot