我正在寻找一个验证以下字符串c3a0acfb-cdce-4a5c-a089-43c09578fc0f
的正则表达式,它总是会有小写字母,数字和-
,我知道[0-9a-z]验证字母和数字,但我需要说caracter -
可以出现在任何地方。
有人可以帮助我吗?
感谢。
答案 0 :(得分:3)
正则表达式:
([a-z0-9\-]+)
以上将允许使用字母数字和连字符。
答案 1 :(得分:2)
假设这是一个GUID,请使用:
"{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}"
答案 2 :(得分:1)
([0-9a-z]*)\-([0-9a-z]*)\-([0-9a-z]*)
这个正则表达式应该这样做,在java中你可能需要在-
之前添加一个额外的反斜杠
假设它是一定数量的-
答案 3 :(得分:0)
试试[0-9a-z\\-]
。 (警告:这不会验证字符串的长度。)
答案 4 :(得分:0)
这很简单!!你真的尝试过什么吗?如果要匹配包含小写字母,数字和连字符的字符串,可以使用:
[a-z0-9-]
如果您想严格匹配上述模式,那么:
(([a-z0-9]+)(-)?)+
应该有效。它表示由一个或零连字符所包含的任何字母数字。
我不确定连字符是否需要使用/ - 而不是 - 直接:D。所以至少自己这样做,让我也知道:D。
[a-z0-9 - ] +也适用于您,但它也会接受类型的字符串:
adcacf--sadcac-das-----
甚至这也将被接受:
------------- (strings of hyphen)
所以,如果你知道你不会得到这些类型的字符串,那么你可以按照PVR的说法选择[a-z0-9 - ] +。