我正在寻找一个验证以下字符串的正则表达式c3a0acfb-cdce-4a5c-a089-43c09578fc0f
,它总是有小写字母、数字和-
,我知道 [0-9a-z] 验证字母和数字,但我需要说这个字符-
可以出现在任何地方。
任何人都可以帮助我吗?
谢谢。
regex :
([a-z0-9\-]+)
The above will allow alphabets digits and hyphen.
假设这是一个 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}"
([0-9a-z]*)\-([0-9a-z]*)\-([0-9a-z]*)
This regexp should do it, in java you might need to add an extra backslash before -
Assuming that it is a certain number of -
In the future you can experiment at: http://gskinner.com/RegExr/
这太简单了!!你真的试过什么吗??如果要匹配包含小写字母、数字和连字符的字符串,可以使用:
[a-z0-9-]
如果您严格要匹配上述模式,则:
(([a-z0-9]+)(-)?)+
应该管用。它表示任何字母数字后跟一个或零连字符。
我不确定对于连字符,我们是否需要直接使用 /- 而不是 - :D。所以至少自己做这件事,让我也知道:D。
[a-z0-9-]+ 也适用于您,但它也接受以下类型的字符串:
adcacf--sadcac-das-----
甚至这也将被接受:
------------- (strings of hyphen)
所以,如果你知道你不会得到这些类型的字符串,那么你可以按照 PVR 的指示使用 [a-z0-9-]+。
Try [0-9a-z\\-]
. (Warning: This doesn't validate the length of the string.)