我如何创建一个具有这些简单规则的验证器。如果
,表达式有效必须以字母
开头
它必须以字母结尾
它可以包含短划线(减号),但不能包含表达式的开头或结尾
答案 0 :(得分:1)
^[a-zA-Z]+-?[a-zA-Z]+$
E.g。
def validate(whatever)
reg = /^[a-zA-Z]+-?[a-zA-Z]+$/
return (reg.match(whatever)) ? true : false;
end
答案 1 :(得分:0)
此正则表达式匹配由一个或多个字母组成的序列,这些序列由短划线连接。
^[a-zA-Z]+(?:-[a-zA-Z]+)*$
答案 2 :(得分:0)
^[a-zA-Z]+\-?[a-zA-Z]+$
请注意,原始问题指出,可以包含短划线。短划线后需要问号,以确保它在正则表达式中是可选的。
答案 3 :(得分:0)
^[A-Za-z].*[A-Za-z]$
换句话说:信,任何东西,信。
也可能想要:
^[A-Za-z](.*[A-Za-z])?$
这样一个字母也匹配。
答案 4 :(得分:0)
/^[A-Za-z]+(-?[A-Za-z]+)?$/
这看起来像你想要的。
^ =匹配起始位置
^ [A-Za-z] + =开始位置后跟任何至少一个或多个字母
- ? =是否有零个或一个连字符(如果一行中可以有多个连字符,请使用“*”)
[A-Za-z] + =连字符后跟一个或多个字母
( - [A-ZA-Z] +)? =对于单个字母的情况。
$ =匹配字符串中的结束位置。
答案 5 :(得分:0)
我的意思是,能够创建标签。例如:“野生的东西”或“野生的东西”或“野外”或“荒野”,“我的野外世界”等......
答案 6 :(得分:0)
那么,
[A-Za-z].*[A-Za-z]
根据您的规则,这将有效。它将匹配以下任何内容: