2016-01-11 3 views
2

Я пытаюсь проверить свою строку, имеющую 123.12/23 с рисунком \\d+(.\\d+)*\\/\\d+(.\\d+)*, но он не работает, идет также 123.12/23/24.Код регулярного выражения, необходимый для 123.12/23

мне нужно ниже сценарии должны быть охвачены:

Строки должны быть переданы: 12/23 , 12.23/23 , 12/23.33

Строки несостоявшимся: 12/13/14 , 12.23/2/4

+0

Вы хотите передать '12.23.34/23'? – ajb

+0

См. [Мета-символ Java RegEx (.) И обычная точка?] (Http://stackoverflow.com/questions/3674930/java-regex-meta-character-and-ordinary-dot) –

ответ

3
^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$ 

Вы были close.Escape . .См демо.

https://regex101.com/r/iJ7bT6/1

Для Java это будет

^\\d+(?:\\.\\d+)?\\/\\d+(?:\\.\\d+)?$ 
+0

Спасибо ... это сработало. –

+1

@SurajBansal Допустим, если это сработало 4 u – vks

+0

В Java достаточно использовать '^ \\ d + (?: \\. \\ d +)?/\\ d + (?: \\. \\ d +) ? $ '. Не нужно избегать косой черты. –