使用正则表达式验证字符串

时间:2013-07-03 13:26:46

标签: java regex

我正在寻找一个验证以下字符串c3a0acfb-cdce-4a5c-a089-43c09578fc0f的正则表达式,它总是会有小写字母,数字和-,我知道[0-9a-z]验证字母和数字,但我需要说caracter -可以出现在任何地方。

有人可以帮助我吗?

感谢。

5 个答案:

答案 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中你可能需要在-之前添加一个额外的反斜杠

假设它是一定数量的-

将来您可以在http://gskinner.com/RegExr/

进行试验

答案 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 - ] +。