在Java中创建正则表达式

时间:2015-03-19 15:50:19

标签: regex string validation

必需的表达格式:a-b-c-d-e-fb-c-e-d 字符串最小值3和最大值11

有限制
^[([a-f])\-([a-f])\-([a-f])\-([a-f])\-([a-f])\-([a-f])]{3,11}$

不符合要求,但适用于test regular Expression in ruby

2 个答案:

答案 0 :(得分:3)

好像你想要这样的东西,

^[a-f](?:-[a-f]){2,10}$

{2,10}范围量词,重复前一个标记(?:-[a-f]) 2至10次。

DEMO

答案 1 :(得分:0)

基于OP的最后评论,以避免重复并修改Avinash Raj的模式

^(?!\S*([a-f])-\1)([a-f](?:-[a-f]){2,10})$

编辑:

^(?!\S*([a-f]+)\S*-\1(?:-|$))[a-f](-[a-f]){2,10}

Demo