Регулярное выражение для свойства класса groovy domain - PullRequest
0 голосов
/ 04 августа 2011

У меня есть свойство типа string. Может принимать все числовые и буквенно-цифровые значения.И мне нужно выражение, которое должно содержать «- [0-9]» в конце строки как Aa-A2-AXY-1 и следующий формат

XX-XXX-X**-11** any string and at last **-number**

1 Ответ

3 голосов
/ 04 августа 2011

Если я вас правильно понимаю, шаблон, который вам нужен, выглядит примерно так:

/[0-9A-Za-z]+(-[0-9A-Za-z]+)*-[0-9]/

Я написал быстрый тест:

valid = [ 'A-a-A2-AXY-1', 'A-a-A2-A2Y-11', '14-a-A2-A2Y-11' ]
invalid = [ '-a-A2-AXY-A', 'A-a-A2-AXY-', 'A-a-A2-AXY-B' ]

pattern = /[0-9A-Za-z]+(-[0-9A-Za-z]+)*-[0-9]+/

valid.each { println "$it ${it ==~ pattern}" }
invalid.each { println "$it ${it ==~ pattern}" }

, который выдает:

A-a-A2-AXY-1 true
A-a-A2-A2Y-11 true
14-a-A2-A2Y-11 true
-a-A2-AXY-A false
A-a-A2-AXY- false
A-a-A2-AXY-B false

Так что, похоже, работает

Шаблон, вероятно, может быть сокращен путем использования групповых символов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...