我当前正在尝试验证输入,该输入用冒号分隔。但是有可能用户输入一个单词而后没有冒号。不应以冒号结尾字符串。只允许使用小写字母。如以下示例所指出的,该模式应允许进一步链接。
以下是允许的测试字符串:
auto
auto:vehicle
auto:vehicle:face
auto:vehicle:face:subject
auto:vehicle:face:subject:classic
这是我到目前为止所得到的,有点它没有按预期工作:
/([a-z]+:[a-z]+:?)/g
我如何告诉模式检查是否只有一个单词,这样就不需要后面的冒号了,我如何允许模式重复匹配(链接)?
任何帮助将不胜感激:)
答案 0 :(得分:3)
这可以做到:
^[a-z]+(?::[a-z]+)*$
regex读取,“在字符串的开头匹配一个或多个小写字母,然后匹配零个或多个字符串,每个字符串都以冒号开头,然后是一个或多个小写字母,然后是字符串”。
答案 1 :(得分:1)
这应该也可以
^([a-z]+:)*[a-z]+$
将以:
结尾的小写字母匹配0到n次,然后必须以小写字母结尾且没有冒号